CStdioFile.open更改文件运行时错误的路径?

时间:2018-03-08 05:06:30

标签: visual-studio-2015 mfc

如果我更改文件运行时错误的路径怎么办?

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();

不工作 - 运行时错误?

1 个答案:

答案 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的析构函数会自动执行此操作。

此外,建议始终使用绝对文件路径而不是相对路径。相对路径取决于当前目录,这通常不是您所期望的(不受您控制的代码可以随时更改它)。