fflush()的理解

#include "stdio.h"

int fflush(FILE *stream);

清除文件緩衝區,文件以寫方式打開時將緩衝區內容寫入文件

fflush(stdin):

對比下面的兩個程序:

int a, c;

scanf("%d", &a);

c = getchar();

輸入:12(回車)

則 a = 12, c = '\n'

int a, c;

scanf("%d", &a);

fflush(stdin);//清空輸入緩衝區

c = getchar();

輸入:12(回車)

則a = 12, c暫時未得到值,還需要輸入c,因爲getchar也是緩衝輸入,‘\n’本還在緩衝區,但是被fflush(stdin)清空了。

fflush不能作用於重定向輸入流。

fflush(stdout):

刷新標準輸出緩衝區,stdout是系統定義的標準輸出文件指針,默認情況下指屏幕,即將緩衝區中的內容寫到屏幕上。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章