如果我更改文件运行时错误的路径怎么办?
1
CStdioFile file;
file.Open(_T("hb_n.txt"), CFile::modeRead | CFile::typeUnicode);
file.Close();
工作
到另一个档案
2
CStdioFile file;
file.Open(_T("hb_n_2.txt"), CFile::modeRead | CFile::typeUnicode);
file.Close();
不工作 - 运行时错误?
答案 0 :(得分:1)
要确定错误原因,请使用抛出CFileException
的构造函数并使用try / catch块来处理该异常。
try
{
CStdioFile file( _T("hb_n_2.txt"), CFile::modeRead | CFile::typeUnicode );
}
catch( CFileException* e )
{
TRACE( L"Error code: %d\n", e->m_lOsError );
e->ReportError();
e->Delete();
}
CFileException::ReportError()
显示系统错误消息。 TRACE
调用会在调试输出中记录错误代码。您可以查找error code in the reference以获取更多信息。
请注意,不需要显式调用CStdioFile::Close()
,因为CStdioFile
的析构函数会自动执行此操作。
此外,建议始终使用绝对文件路径而不是相对路径。相对路径取决于当前目录,这通常不是您所期望的(不受您控制的代码可以随时更改它)。