Immer Puffer leeren nach Eingabe?
Wenn ich eine Eingabe einlese mit scanf, und diese gültig ist, verbleibt ja noch das \n im Puffer. Wenn ich dann noch ein scanf später nutze? Wird dann das vorherige \n miteingelesen oder ignoriert? Muss ich dann nach jeder auch korrekten Eingabe den Puffer komplett leeren?
1 Antwort
![](https://images.gutefrage.net/media/default/user/5_nmmslarge.png?v=1438863662000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Programmieren & Softwareentwicklung
Also Posix sagt:
A directive composed of one or more white-space characters shall be executed by reading input until no more valid input can be read, or up to the first byte which is not a white-space character, which remains unread.
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fscanf.html
Das heißt, soweit ich das verstehe, musst du nur ein White-Space an das Ende deines Format-Strings packen und der Stream wird geleert.
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Was ist ein White space?