002
07.02.2009, 16:17 Uhr
0xdeadbeef
Gott (Operator)
|
Man kann nach wie vor nur Ausgabepuffer flushen. Was soll es denn überhaupt bedeuten, einen Eingabepuffer zu flushen? Wegschmeißen, was sich gerade im Programmpuffer befindet? Bis zum Ende der Zeile ignorieren? Alles auslesen, was da noch kommt? So oder so wäre das eher ein drain als ein flush.
4.4BSD hat eine Funktion fpurge, die etwas derartiges macht, aber natürlich ist es je nach Zustand des Programmes ziemliche Glückssache, was dabei eigentlich passiert. Windows erlaubt fflush auf Eingabeströme, mit der gleichen Problematik. Wohldefiniert ist das alles nicht. Was du in diesem Fall willst, ist, bis zum Ende der Zeile zu ignorieren, also stumpf
C++: |
while(getchar() != '\n');
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |