000
22.03.2010, 10:49 Uhr
~Däädlock
Gast
|
hi,
folgender code-schnipsel:
C++: |
fgets(name, 127, stdin); //doSomething while((ch = getchar()) != EOF && ch != '\n'){continue;}
|
Wenn der Benutzer jetzt mehr als 127 zeichen eingibt, bleiben noch Zeichen im stdin stehen, die entferne ich dann mit der while-schleife. Soweit alles ok.
Wenn nun aber weniger als 127 Zeichen gelesen werden, dann erwartet die while das etwas eingeben wird. Wie kann ich das umgehen? Sowas wie clear(stdin) gibts ja nicht - bis auf das böse flush(stdin) was ein undefinierten zustand herbeiführt? |