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

10-06 06:44