此函數包含在stdio.h頭文件中,用來強制將緩沖區中的內容寫入文件。
函數原型:int fflush(FILE *stream) ;
函數功能:清除一個流,即清除文件緩沖區,當文件以寫方式打開時,將緩沖區內容寫入文件。也就是說,對于ANSI C規定的是緩沖文件系統,函數fflush用于將緩沖區的內容輸出到文件中去。
函數返回值:如果成功刷新,fflush返回0。指定的流沒有緩沖區或者只讀打開時也返回0值。返回EOF指出一個錯誤。
下面給出一個具體的例子來演示該函數使用的方法:
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
if((fp=fopen("test", "rb"))==NULL) {
printf("Cannot open file./n");
exit(1);
}
char ch = 'C';
int i;
for(i=0; i<5; i++) {
fwrite(ch, sizeof(ch), 1, fp);
fflush(fp);
}
fclose(fp);
return 0;
}
注意:如果在寫完文件后調用函數fclose關閉該文件,同樣可以達到將緩沖區的內容寫到文件中的目的,但是那樣系統開銷較大。
新聞熱點
疑難解答