Les Allergies
Alimentaires
Posez votre question Signaler

Sscanf -> char *chaine et char chaine[10] [Résolu]

StreM - Dernière réponse le 10 mai 2004 à 16:37
Salut a tous !

Je reviens avec mes bugs plein la tete ! J'en peux plus !
Qui peut m'expliquer pourquoi
char *chaine;
printf ("\nDomaine : ");
gets(chaine);
scanf (chaine,"%s",&domaine);
printf ("%s", chaine);

ne marche pas alors que
char chaine[10];
printf ("\nDomaine : ");
gets(chaine);
scanf (chaine,"%s",&domaine);
printf ("%s", chaine);

fonctionne tres bien ?

Passque ca m'arrange pas du tout !
J'ai besoin du premier code !
Enfin... si j'arrive a entrer une chaine dans char *chaine, c'est bon !

Si vous avez des idees... Moi je suis a bout !
Lire la suite 

Sscanf -> char *chaine et char chaine[10] »

4 réponses
Réponse
+3
moins plus
Yop,

chaine = (char *)malloc (10*sizeof(char));

Pour ce qui est du chiffre, tu chosis. Comme tu avais mis chaine[10] dans ton exemple, j'ai mis 10 pour le malloc.
En clair ca te donne :

char *chaine;
chaine = (char *)malloc (10*sizeof(char));
printf ("\nDomaine : ");
gets(chaine);
scanf (chaine,"%s",&domaine);
printf ("%s", chaine);

++

Nico
Ajouter un commentaire
Réponse
+0
moins plus
Yop,

tu as oublié d'allouer ton pointeur en mémoire. Il faut faire un malloc si tu ne veux plus que ca plante ;)

Nico
Ajouter un commentaire
Réponse
+0
moins plus
Dans l'aide de BCB, c'est pas tres clair, et qd j'essaie, il me retourne une chaine toute bizarre...

Sans vouloir abuser, tu pourrais me dire comment on emploie malloc ?

Merci de ton aide !
Ajouter un commentaire
Réponse
+0
moins plus
YESSS !!!

Ca fonctionne impecc' !
Respect !

Merci bien !

tcho !
Ajouter un commentaire
Ce document intitulé « sscanf -> char *chaine et char chaine[10] » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?