文件打开问题

时间:2011-11-25 10:56:42

标签: c++ visual-studio-2010 file-io

此代码导致文件打开m_cause 0的原因是什么?发现有很多原因可以返回另一个代码但没有0的原因。

CFileException fileException;
CFile myFile;
if (myFile.Open("C:\\test\\docs\\test.txt", CFile::modeCreate | CFile::modeWrite, &fileException))
{
    TRACE( "Can't open file %s, error = %u\n", "test.txt", fileException.m_cause );
}

2 个答案:

答案 0 :(得分:5)

CFile::Open()成功后返回零,示例中的调用不会失败!

检查!CFile::Open(...)

答案 1 :(得分:0)

  

返回值

     

如果开放成功,则非零;否则为0.仅当返回0时,pError参数才有意义。

Taken from MSDN(我已经链接到Visual Studio 2010的文档,但它与VS2005和2003的版本相同,可能超出了此范围。)

根据bert-jan的建议,您应检查!CFile::Open(...),因为如果文件无法打开,您将无法实际处理错误。