【C語言】清空輸入緩存區的幾個方法


辦法一:

1 scanf("%d", value);
2 setbuf(stdin, NULL);

將 stdin 輸入流由默認緩沖區轉為無緩沖區。這樣 scanf() 輸入完畢后,緩沖區內的東西就消失了。

辦法二:

1 while ((c = getchar()) != EOF && c != '\n');

使用 getchar() 不斷獲得緩沖區內的內容,直到緩沖區空為止。建議使用這種方法

辦法三:

1 fflush(stdin);

這種方法不在 C 和 C++ 標准定義里,並非所有編譯器都支持這個函數(例如Linux下的GCC就不支持),所以代碼的可擴展性較差。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM