MFC按行讀寫文件,親測有用!


void CViewAShareEvent::OnSaveType(CString type)
{
    CFile file;
    CString FileName = "data.txt";  //文件名稱
    //如果沒有此文件則需創建一個這樣的文件
    file.Open(FileName, CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate);
    //按行存儲
    if (file.GetLength() != 0)
    {
        file.SeekToEnd();
        file.Write("\r\n", strlen("\r\n"));//換行
    }

        //寫入
    file.Write((unsigned char *)(type.GetBuffer(0)), type.GetLength());
    file.Flush();
    file.Close();
}    

 1 void CViewAShareEvent::OnGetType()
 2 {
 3     CString m_data;
 4     CFile file;
 5     CString FileName = "data.txt";
 6 
 7        //如果沒有這個文件則退出
 8     if (!file.Open(FileName, CFile::modeRead)) //只讀
 9         return;
10 
11     CString Type = "";
12     char Typestr;
13 
14         //根據/r/n判斷文件是在哪里分隔,繼而得出行內容
15     while (file.Read(&Typestr, 1))
16     {
17         if (Typestr == '\r')
18         {
19             m_arrNewTypes.Add(Type);
20         }
21         if (Typestr == '\n')
22         {
23             Type = "";
24         }
25         else
26         {
27             Type = Type + Typestr;
28         }
29     }
30 
31        //由於最后一個沒有/r/n所以在此處判斷是否為空而確定有沒有最后的類型
32     if (!Type.IsEmpty())
33     {
34         m_arrNewTypes.Add(Type);
35     }
36     
37     file.Close();
38 }

 下午折騰了一會,因為百度查的比較亂,最終經過測試,就是這樣寫啦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM