使用 CFile 时,出于某种原因,我对 read() 的调用在第一次调用后返回 0 个字节
CFile iniFile;
int bytesRead=0;
char buffer[_MAX_PATH];
if(iniFile.Open(iniDirFilename,CFile::modeRead)){
bytesRead += iniFile.Read(buffer,_MAX_PATH); // read file path
SaveDirectoryBox->SetWindowTextA(buffer);
iniFile.Seek(bytesRead,CFile::begin); // reposition pointer
int x =iniFile.GetLength();
int y =iniFile.GetPosition();
bytesRead += iniFile.Read(buffer,_MAX_PATH); // read subfile path
subSaveDirectoryBox->SetWindowTextA(buffer);
iniFile.Seek(bytesRead,CFile::begin); // reposition pointer
}
当我知道文件长度明显更多时,它告诉我文件长度只有 72 个字节。我保存了一堆以空字符结尾的字符串。例如“你好”,我怀疑 CFile 类在构造时会查找第一个 NULL 字符并将其称为文件结尾。我尝试使用 setLength() 函数,但这给了我一个错误
如何阅读文件的其余部分?
编辑:
我应该提到我的项目设置为用 ascii 读取写入。而且文件也是用ascii写的