2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
merci d'utiliser les balises de code quand tu postes du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
tu ne nous montres pas le code avec le second test. il a peut-être comme but de ne pas lire au delà de la ligne.
merci d'utiliser les balises de code quand tu postes du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
tu ne nous montres pas le code avec le second test. il a peut-être comme but de ne pas lire au delà de la ligne.
Salut chocolat8886,
Est la façon concise et portable de consommer le reste du contenu de
Cela permet par exemple de gérer une saisie par ligne avec des fonctions comme
Tu proposes :
Tu peux faire cela si tu veux consommer tout le contenu du tampon de
Note que j'ai rajouté le
Dal
int c; while((c = getchar()) != '\n' && c != EOF) /* vider stdin */ ;
Est la façon concise et portable de consommer le reste du contenu de
stdinsur la ligne de saisie en ignorant tous les caractères rencontrés jusqu'au retour à la ligne et en arrêtant la boucle s'il ne reste plus rien et qu'un caractère de fin de ligne n'a pas été rencontré.
Cela permet par exemple de gérer une saisie par ligne avec des fonctions comme
scanf().
Tu proposes :
int c;
while ((c = getchar()) != EOF)
;
Tu peux faire cela si tu veux consommer tout le contenu du tampon de
stdin, même s'il contient des caractères concernant une ligne suivante. Avec ce code, utiliser une variable
int c;est inutile.
Note que j'ai rajouté le
;que tu avais oublié. Prend l'habitude de le mettre sur une ligne suivante tout seul, pour bien signaler dans ton code cette construction particulière.
Dal