problème avec la fonction gets
Bonjour, j'ai un problème avec la fonction gets.
Apaprement, elle ne marche pas si avant je fais un scanf, ce qui me parait très bizarre :
Si je fais ce code là, pas de problème :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include <stdio.h>
main()
{
int util1;
char chaine[50];
FILE *sortie;
int a=1;
if (a==1){
sortie=fopen("bonjour","w");
fprintf(sortie,"BONJOUR\n");
gets(chaine);
fprintf(sortie," %s\n",chaine);
}
} |
Mais si je fais un scanf juste avant, ça ne marche pas : la chaine n'est pas demandée à l'utilisateur, alors que bonjour est écrit dans le fichier (ce qui prouve qu'on est bien rentré dans la boucle).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #include <stdio.h>
main()
{
int util1;
char chaine[50];
FILE *sortie;
int a;
scanf("%d",&a);
if (a==1){
sortie=fopen("bonjour","w");
fprintf(sortie,"BONJOUR\n");
gets(chaine);
fprintf(sortie," %s\n",chaine);
}
} |
Est ce que vous pouvez m'aider? Merci!