1
CFile   file;

CFileException fe;

if (file.Open(strPath, CFile::modeCreate | CFile::modeReadWrite | CFile::typeBinary, &fe) )
{
}

这行不通。strPath 提供的文件路径已经存在,但它不会打开此文件并返回错误代码 5。如果我删除了CFile::modeCreate标志,则文件打开正常。文档说如果文件已经存在,'CFile::modeCreate' 将附加到它并将其截断为零,但实际上它从来没有首先打开文件。我的电话有问题吗?

4

1 回答 1

1

我解决了这个问题。问题是该文件设置了“仅就绪”属性。我在打开它之前将其更改为正常状态并修复了它。

SetFileAttributes(strPath, FILE_ATTRIBUTE_NORMAL);
于 2012-09-27T21:01:55.570 回答