Mit fflush(stdin)

Also eine schnelle Google-Suche für fflush(stdin) für das löschen des eingabepuffers zeigt zahlreiche websites, die Warnung gegen die Verwendung von es. Und doch, genau wie mein CS-professor unterrichtet die Klasse, es zu tun.

Wie schlimm ist mit fflush(stdin)? Sollte ich wirklich verzichten, es zu benutzen, auch wenn mein professor ist mit es und es scheint zu funktionieren einwandfrei?

codinghorror.com/blog/2007/03/...
Sowohl Windows und Linux definieren Sie das Verhalten von fflush() auf einen input-stream, und auch definieren, auf die gleiche Weise (Wunder, Wunder). Die POSIX -, C-und C++ - standards für fflush() definieren Sie nicht das Verhalten, aber keiner von Ihnen verhindern, dass ein system aus, es zu definieren. Wenn Sie die Codierung für maximale Portabilität, vermeiden fflush(stdin); wenn Sie Sie Kodieren für Plattformen, bestimmen das Verhalten, verwenden Sie es — aber bewusst sein, dass es nicht tragbar.
Cygwin ist ein Beispiel für eine weit verbreitete Plattform, auf der fflush(stdin); nicht klar den input.
Es hängt auch davon ab, was genau Sie erwarten fflush(stdin) zu tun.

InformationsquelleAutor wrongusername | 2010-06-05

Schreibe einen Kommentar