此函數(shù)包含在stdio.h頭文件中,用來強(qiáng)制將緩沖區(qū)中的內(nèi)容寫入文件。
函數(shù)原型:int fflush(FILE *stream) ;
函數(shù)功能:清除一個流,即清除文件緩沖區(qū),當(dāng)文件以寫方式打開時,將緩沖區(qū)內(nèi)容寫入文件。也就是說,對于ANSI C規(guī)定的是緩沖文件系統(tǒng),函數(shù)fflush用于將緩沖區(qū)的內(nèi)容輸出到文件中去。
函數(shù)返回值:如果成功刷新,fflush返回0。指定的流沒有緩沖區(qū)或者只讀打開時也返回0值。返回EOF指出一個錯誤。
下面給出一個具體的例子來演示該函數(shù)使用的方法:
#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;
}
注意:如果在寫完文件后調(diào)用函數(shù)fclose關(guān)閉該文件,同樣可以達(dá)到將緩沖區(qū)的內(nèi)容寫到文件中的目的,但是那樣系統(tǒng)開銷較大。
新聞熱點(diǎn)
疑難解答
圖片精選