Fgets??? en langage C
Résolu
limbergh
Messages postés
669
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un code ou je veux écrire des phrases et les afficher.
Ce code fonctionne très bien sans un switch mais avec celui-ci, ça boucle
et il ne m'inscris rien????????
Merci d'avance pour votre aide et je met mon code ci-après....
J'ai utilisé fgets pour écrire ma phrase, est-ce la mon erreur?
j'ai un code ou je veux écrire des phrases et les afficher.
Ce code fonctionne très bien sans un switch mais avec celui-ci, ça boucle
et il ne m'inscris rien????????
Merci d'avance pour votre aide et je met mon code ci-après....
J'ai utilisé fgets pour écrire ma phrase, est-ce la mon erreur?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
int main(int argc, char *argv[])
{
int choix;
char l[100], c[100]={0};
while(choix!=0)
{
printf("\n-1- affiche la question 1");
printf("\n-2- affiche la question 2");
printf("\n-2- affiche la question 3");
printf("\n votre choix=============>");
scanf("%d", &choix);
switch(choix)
{
case 1:
printf("salut,encode ta phrase : ");
fgets(l,100,stdin);
break;
case 2 :
printf("Ha ta phrase est %s", l);
break;
case 3 :
printf("je copie ta reponse dans une autre variable");
strcpy(c,l);
printf("%s", c);
break;
}
}
getch();
return 0;
}
Configuration: Windows XP Firefox 2.0.0.12
6 réponses
-
Salut,
N'oublie pas d'initialiser choix à -1 par exemple. Tu effectues une comparaison sans l'initialiser.
Sinon, toujours le même problème, lorsque tu utilises scanf("%d",...), tu as le '\n' stocké dans le buffer clavier.
Donc tu peux faire un fgetc(stdin); par exemple juste avant l'utilisation du fgets;
Cordialement -
salut mype et fiddy,
par vos réflexions, j'ai trouvé mon erreur, enfin je pense,
j'ai oublié de mettre la getchar(), c'est ça non? -
Oui, mais je t'avais dit tout ceci dans mon post n°1 !
-
ah limbergh toujours le meme probleme ;)
c'est le '\n' qui pose probleme -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ok,
merci pour vos réponses!!!! et votre patience (lol) -
À tes ordres, et à la prochaine fois pour un '\n' ;)