程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++-MFC 文本文件如何實現修改指定行

c++-MFC 文本文件如何實現修改指定行

編輯:編程解疑
MFC 文本文件如何實現修改指定行
 void EditView::WriteInTitle(CString strName, CString lpsz)
{
    CFile WriteFile;
    WriteFile.Open(strName, CFile::modeWrite | CFile::modeRead | CFile::typeBinary);
    lpsz = lpsz + "\r\n";
    LPCTSTR s = lpsz.GetBuffer(lpsz.GetLength());
    WriteFile.Write(s, lpsz.GetLength()*sizeof(CHAR));
    WriteFile.Close();
}

以上代碼是修改文本第一行內容,但是執行後卻把第二行的一部分也覆蓋了。
有沒有什麼一行行修改數據的方法?

最佳回答:


文檔前面的數據長度變了,再直接這樣寫回是不行的,因為長度變化影響了後面數據在存盤的排序。如果只是每個字符一一對應的等字節長度替換,像 Hex Workshop 那樣,即使用是幾個G的大文件,也是可以瞬間完成修改的,因為文件長度和內容排列都沒變,即要針對存盤的二進數據修改就好了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved