此函数包含在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. "); 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关闭该文件,同样可以达到将缓冲区的内容写到文件中的目的,但是那样系统开销较大。
本文来源于翔宇亭IT乐园 http://www.biye5u.com/, 原文地址:http://www.biye5u.com/article/prog/C/2010/2774.html