天天看點

MFC檔案流類CFile—資料寫入檔案

檔案流類CFile—資料寫入檔案

執行個體化一個對象

對象使用open()函數打開檔案,參數為檔案路徑和打開類型modeWrite

資料寫入檔案使用Write()

關閉檔案流Close()

CString FileName = _T("A:\\student.txt");
CFile fout;
fout.Open(FileName,CFile::modeWrite);//這裡先要建立好檔案,先吃飯,回來設計自動建立檔案,并解決屬性間隔問題,文本追加
fout.Write(sno,strlen(sno)+1);//加1代表多一個空格來間隔資料
fout.Close();
           

問題:每錄入一次資訊,前面的資料就會被删除,如何解決資料被删除覆寫?

問題根源:因為每一次打開檔案,檔案寫指針都是在檔案的開頭,是以資料會被删除覆寫。

解決方法:

把檔案指針定位至尾部:使用函數SeekToEnd()

fout.SeekToEnd();
           

如何解決資料換行

輸入換行"\r"即可,長度取0

fout.Write("\n",1);
           

完整的輸入資料的代碼

CString sno;
CString sname;
CString age;
        
CString FileName = _T("A:\\student.txt");//檔案路徑
CFile fout;
fout.Open(FileName, CFile::modeWrite);//隻寫模式
fout.SeekToEnd();//檔案指針定位至尾部
fout.Write(sno, strlen(sno)+1);//加1代表多一個空格來間隔資料
fout.Write(sname, strlen(sname) + 1);
fout.Write(age, strlen(age) + 1);
fout.Write("\n",1);//資料換行
//fout.Write("\r\n", 2);
fout.Close();