CFile file;
CFileException fe;
if (file.Open(strPath, CFile::modeCreate | CFile::modeReadWrite | CFile::typeBinary, &fe) )
{
}
这行不通。 strPath提供的文件路径已经存在,但不会打开该文件,并返回错误代码5。如果我删除了
CFile::modeCreate
标志,则文件打开正常。文档说如果文件已经存在,则'CFile::modeCreate'将自身附加到该文件并将其截断为零,但实际上,它永远不会首先打开该文件。我的电话有问题吗? 最佳答案
我解决了问题在于该文件设置了“只读”属性。在打开它之前,我已将其更改为正常状态,并进行了修复。
SetFileAttributes(strPath, FILE_ATTRIBUTE_NORMAL);