TXT中數據格式如下:
1
23
4
0
4
10
……
要實現的功能是:定義一個函數,每次調用時從TXT文檔中讀一個整數 ,賦值給變量。同時,文件位置向下移動一行,以便下次調用時讀取下一行的數據。
MFC主要讀寫文件的類是CFile,CStdioFile類是派生自CFile類的,主要增加了一個按行的方式讀取/寫入文件每行字符串的功能【讀寫TXT文件,寫入和輸出必須統一格式】。所以實現按行讀取字符串用CStdioFile類。
代碼:
void CMFCdemoDlg::getPersonCnt() { CStdioFile file; CString strText=_T(""); if (file.Open(_T("E:\\count.txt"), CFile::modeRead)) { file.Seek(pos, CFile::begin); if (file.ReadString(strText)) { pos = file.GetPosition();//記錄讀到了哪一行;
m_personCount = _ttoi(strText); SetDlgItemInt(IDC_PERSONCOUNT_EDIT,m_personCount); } else { SetDlgItemText(IDC_PERSONCOUNT_EDIT, _T("讀入錯誤")); } file.Close(); } }
注:pos(DWORD)與m_personCount(int)是對話框類的數據成員。
參考:https://bbs.csdn.net/topics/340105743
https://blog.csdn.net/zollll/article/details/54861253