Menu

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

- - Dernière réponse :  StreM - 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 !
Afficher la suite 

4 réponses

Meilleure réponse
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42353 internautes nous ont dit merci ce mois-ci

0
Merci
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
0
Merci
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 !
0
Merci
YESSS !!!

Ca fonctionne impecc' !
Respect !

Merci bien !

tcho !