文件缓冲区
在连续操作文件时,如果没有使用fclose()函数,写入文件的大小也未超出文件缓冲区大小,那么这段数据可能会丢失。如果想实时将数据写入文件有两种思路:1,改变文件缓冲区大小,将缓冲区改小;2,定时使用fflush()函数。
#include <vcl.h> #include "stdio.h" #include <stdlib.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { FILE *fp; fp = fopen("hello.txt","w+"); int i; for(i=0;i<1000;i++) { fputc('t',fp); fflush(fp); // 强制将缓冲区内容写入文件 ,否则要等缓冲区溢出才会写入文件 } fclose(fp); while(1); return 0; }

浙公网安备 33010602011771号