Visual studio 2015 CStdioFile.open是否更改文件运行时错误的路径?

Visual studio 2015 CStdioFile.open是否更改文件运行时错误的路径?,visual-studio-2015,mfc,Visual Studio 2015,Mfc,如果我更改文件运行时错误的路径怎么办 一, 工作 转到另一个文件 二, 不工作-运行时错误?若要确定错误原因,请使用引发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-&

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

一,

工作

转到另一个文件

二,


不工作-运行时错误?

若要确定错误原因,请使用引发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显示系统错误消息。跟踪调用将错误代码记录在调试输出中。您可以查找以获取其他信息

注意,不需要显式调用CStdioFile::Close,因为CStdioFile的析构函数将自动执行此操作


此外,建议始终使用绝对文件路径而不是相对路径。2009年9月9日9月9日9月9日9月9日9月9日9月9日9月9日9月9日9月9日9月9日9月9日9月9日9月9日9月14日9月14日9月14日9月14日9月14日N.TXN.TX邦邦邦邦邦邦邦邦邦邦N.TXN.TXN月15日9月14日9月14日14日9月14日14日9月14日14日9月14日14日9月14日9月14日9月14日9月14日9月14日14日14日9日9日9日14日9日14日9月9月14日14日14日9日9日9日14日14日14日9日14日9医学医学医学医学医学医学医学医学医学医学医学医学院14日14日14日14日14日14日14日14日14日14日14日14日14日14日9月14日14日9 9 9•。如果我不更改文件名doesAlso file.Close不起作用可能文件不在那里。换成如果!file.OpenL‏‏hb_n_2.txt,CFile::modeRead | CFile::typeUnicode{DWORD error=GetLastError;TRACEL%d\n,错误;AfxMessageBoxLstop;}@BarmakShemirani未记录CStdioFile::Open设置最后一个错误值。检索错误代码的正确方法:cfile异常;如果file.OpenL‏‏hb_n_2.txt,CFile::modeRead | CFile::typeUnicode,&e{TRACEL%d\n,e.m_lOsError;}。虽然我更喜欢使用带有try/catch块的构造函数来捕获CFileException。@zett42但主要问题是测试CStdioFile::Open success。
CStdioFile file;    
file.Open(_T("‏‏hb_n_2.txt"), CFile::modeRead | CFile::typeUnicode);
file.Close();
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();
}