Petit problème : comment faire pour ne pas tenir compte du retour chariot d'un scanf à un autre?
Je sais que sous linux, il faut utiliser _fpurge(stdin)...mais sous Windows?
Petit problème : comment faire pour ne pas tenir compte du retour chariot d'un scanf à un autre?
Je sais que sous linux, il faut utiliser _fpurge(stdin)...mais sous Windows?
C'est portable, ca marche aussi bien sous Windows que sous Linux. Et '\n' c'est lecaractère de fin de ligne du lanage C, pas le retour chariot ('\r').
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include <stdio.h> void purge_stdin() { int c; c = getchar(); while (c != EOF && c != '\n') c = getchar(); }
Attention ! Il ne faut pas vide le buffer de stdin que s'il n'est pas vide (c'est-à-dire qu'il y a encore des caractères non lus). S'il est déjà vide, il ne faut plus appeler purge_stdin.
Merci Melem... tu geres ça marche impec!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager