#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是系統定義的標準輸出文件指針,默認情況下指屏幕,即將緩衝區中的內容寫到屏幕上。