此代码导致文件打开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 );
}
答案 0 :(得分:5)
CFile::Open()
成功后返回零,示例中的调用不会失败!
检查!CFile::Open(...)
答案 1 :(得分:0)
返回值
如果开放成功,则非零;否则为0.仅当返回0时,pError参数才有意义。
Taken from MSDN(我已经链接到Visual Studio 2010的文档,但它与VS2005和2003的版本相同,可能超出了此范围。)
根据bert-jan的建议,您应检查!CFile::Open(...)
,因为如果文件无法打开,您将无法实际处理错误。