【发布时间】:2010-03-24 09:24:07
【问题描述】:
我有一个 VC++ 应用程序,在我的应用程序中我有一些基本的文件操作。
下面是默认代码
CStdioFile cFile;
CFileException e;
CString sReport;
CString sHtmlfile = "testreport.html"
OutputDebugString((sHtmlfile));
if (!cFile.Open(sHtmlfile,CFile::modeCreate | CFile::modeWrite, &e ))
{
}
问题是我的应用程序每隔几分钟就会执行一次这段代码。而且效果很好。
在多次运行代码后,cFile.Open() 函数失败。我试图得到错误信息
TCHAR szError[1024];
e.GetErrorMessage(szError,1024);
OutputDebugString((szError));
具有讽刺意味的是 szError 错误消息是“没有发生错误”。
一旦我重新启动我的应用程序,这将再次起作用。知道为什么会这样。
提前致谢。
【问题讨论】:
-
请缩进您的代码以便格式化。 (只需标记并单击代码按钮)。
-
这段代码让我想起了为什么我讨厌 MFC。
-
我的第一个猜测是,在某些情况下,文件没有被关闭。但是,既然您似乎确定它正在被关闭,那么还有哪些其他进程正在使用该文件?网络浏览器?在您尝试打开文件时,是否还有其他东西正在读取文件(并使用
shareDenyWrite或类似模式打开)?
标签: mfc file exception-handling visual-c++