在使用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个字节,而我知道它显然更多。我保存了一堆以null结尾的字符串。例如"Hello“,我怀疑在构造时,CFile类会查找第一个空字符,并将其称为文件末尾。我尝试使用setLength()函数,但出现错误
如何读取文件的其余部分?
编辑:
我应该提一下,我的项目设置为在ascii中读写。而且这个文件也是用ascii写的。
https://stackoverflow.com/questions/10708550
复制相似问题