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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!