salut est ce quue je peut utiliser fflush(stdin) pour vider le flux d'entrée standard (lorsqu'un scanf a foiré ) ?Est il vrai que ça peut causer des comportements indeterminés ?
merci
salut est ce quue je peut utiliser fflush(stdin) pour vider le flux d'entrée standard (lorsqu'un scanf a foiré ) ?Est il vrai que ça peut causer des comportements indeterminés ?
merci
En effet, ça cause des comportements indéterminés.
Utilise ceci pour vider une ligne d'un flux d'entrée:
Je n'ai pas testé, aussi je peux m'être gouré, mais normalement c'est ça: On lit des caractères juqu'à tomber sur \n ou EOF.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void PurgeStream(FILE *in) { int c; while((c=fgetc(in)) != '\n' && c!=EOF) {} }
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
tu peut m'expliquer un peut plus stp ?![]()
Salut,
La fonction de Médinoc lit les caractères présent sur le flux passé à la fonction PurgeStream (stdin si tu veux purger l'entrée standard) jusqu'à ce qu'elle rencontre le caractère de fin de ligne ('\n') ou le caractère de fin de fichier (EOF). Le corps de la boucle while étant vide, les caractères lus sont ignorés.
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Bonjour,
Envoyé par isoman
Comment vider le buffer clavier ?
Pourquoi ne faut-il pas utiliser fflush(stdin) pour vider le buffer clavier ?
Partager