FILE* pIn,*pOut;
int temp;
if((pIn=fopen(m_edit1,"r"))==NULL)
{
MessageBox("文件不能被打开",NULL,IDOK);
exit(1);
}
scanner_example(pIn);//该函数实现把A中的内容写到B中
temp=fclose(pOut);
if(temp==0)
MessageBox("关闭成功!");
else
MessageBox("关闭成功!");
fclose(pIn);
说明:pIn指向一个文件A ,pOut指向一个文件B,我是要把文件A中的内容写入文件B中,写完之后,调用函数fclose(pOut)。此时,B文件中只有A文件末尾的几个字符 ,而且这几个字符之前(文件B中)全被空格代替(感觉好像是前面的内容被隐藏的感觉)。这是为什么?当我把整个应用程序关闭时,再看文件B中的内容,这正确显示了A中的内容,这是为什么?难道fclose()函数并没有阵阵的关闭文件?
怎样才能在不关闭应用程序的情况下,把文件B关闭掉?(即A中的内容显示在B中?)
int temp;
if((pIn=fopen(m_edit1,"r"))==NULL)
{
MessageBox("文件不能被打开",NULL,IDOK);
exit(1);
}
scanner_example(pIn);//该函数实现把A中的内容写到B中
temp=fclose(pOut);
if(temp==0)
MessageBox("关闭成功!");
else
MessageBox("关闭成功!");
fclose(pIn);
说明:pIn指向一个文件A ,pOut指向一个文件B,我是要把文件A中的内容写入文件B中,写完之后,调用函数fclose(pOut)。此时,B文件中只有A文件末尾的几个字符 ,而且这几个字符之前(文件B中)全被空格代替(感觉好像是前面的内容被隐藏的感觉)。这是为什么?当我把整个应用程序关闭时,再看文件B中的内容,这正确显示了A中的内容,这是为什么?难道fclose()函数并没有阵阵的关闭文件?
怎样才能在不关闭应用程序的情况下,把文件B关闭掉?(即A中的内容显示在B中?)
所以当你fclose时提交了最好一次操作,而前面的没有!
temp=fclose(pOut);
句中实际上关闭的是一个"从未打开"的文件B.
后加上
Sleep(3000);然后再看B文件.flush()函数帮不了你的忙,那个函数是用在close()函数前面的.