我实验,当看到电脑变量hh显示到7391的突然拔掉电脑电源,让他断电,随后重新启动电脑,进去c:\\1.txt的文件看,发现数据之保存到6000多条,也就是少了1000多条的数据,请问代码要怎么改才能使他在断电后依然可以保存数据?
用fputs的方法也没用,用CreateFile的方式来实验也没用。
是不是微软自己本身的问题,希望高手指教。
还有另外在某些笔记本电脑上,一直频繁的if ((pfile=fopen("c:\\1.txt","a"))==NULL)
的话,到了10000万次的时候会出现找不到文件的返回值,打开失败,不知道是什么原因
同样求解。
C/C++ code
#include "stdafx.h"
#include
#include
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
FILE *pfile;
DWORD hh=0;
while (true)
{
if ((pfile=fopen("c:\\1.txt","a"))==NULL)
if ((pfile=fopen("c:\\1.txt","w"))==NULL)
return 0;
fprintf(pfile,"%u\n",hh);
fclose(pfile);
//TRACE("hh=%u\n",hh);
cout<
}
return 0;
}
尝试在fclose(pfile)前面加上fflush(pfile)了
还是没有效果