檔案流類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();