首次讀取正常,二次調用同一文件讀取函數返回空內容,但文件實際存在數據。
file.SeekToBegin()。CStdioFile 文本模式下 ReadString 遇 EOF 返回 FALSE,需判斷返回值。if (file.Open(path, CFile::modeRead | CFile::typeText)) {
file.SeekToBegin(); // 必須
CString line;
while (file.ReadString(line)) {
// 處理每行
}
file.Close();
}
若問題依舊,在讀取前後打斷點查看 file.GetPosition() 及文件實際大小。