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

Résolu/Fermé
StreM - 10 mai 2004 à 15:54
 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 !

4 réponses

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
3