C 如何在不覆蓋原始檔案的情況下為檔案新增字元

發布 科技 2024-03-22
14個回答
  1. 匿名使用者2024-02-07

    建立檔案輸出流物件時,新增 std::ios::ate 標誌,匯出時所有資料都會新增到檔案末尾。

    std::ofstream out( "", std::ios::ate | std::ios::out );

  2. 匿名使用者2024-02-06

    file *f=fopen(m_filename,"a+");

    第二個引數可以通過多種方式設定,您可以檢視 fopen 百科全書。

    a 以附加方式開啟只寫檔案。 如果檔案不存在,則建立檔案,如果檔案存在,則將寫入的資料新增到檔案末尾,即保留檔案的原始內容。 (保留 EOF 字元) a+ 以另一種方式開啟讀寫檔案。

    如果檔案不存在,則建立檔案,如果檔案存在,則將寫入的資料新增到檔案末尾,即保留檔案的原始內容。 (不保留原始 EOF 字元) wb 僅寫入、開啟或建立新的二進位檔案; 只允許寫入資料。 WB+ 讀寫開啟或建立允許讀取和寫入的二進位檔案。

    WT+ 讀取和寫入、開啟或建立文字檔案; 允許讀取和寫入。 AT+ Read & Write 開啟乙個文字檔案,允許讀取資料或將資料附加到文字末尾。 AB+ 讀寫開啟乙個二進位檔案,允許讀取資料或將資料附加到檔案末尾。

  3. 匿名使用者2024-02-05

    file *fp;

    fp=open("filename","a"這是以附加方式編寫的。

  4. 匿名使用者2024-02-04

    通過附加 write 開啟現有檔案(如示例中文案例 a),寫入會自動將寫入資料新增到檔案末尾......在隨後的寫入中以下是一些示例:

  5. 匿名使用者2024-02-03

    1. 首先,定義兩個字串變數 str1 和 str2。

    2. 接下來,輸入兩個字串並將它們儲存在變數 str1 和 str2 中。

    4. 最後,輸出字串 str1。

  6. 匿名使用者2024-02-02

    沒有直接的解決方案。

    你可以先搜尋到檔案的末尾,然後獲取位置(實際上這一步是獲取檔案長度),然後搜尋檔案頭,請求與檔案大小相同的記憶體空間,然後讀出檔案的所有內容。

    然後查詢檔案的標題並寫入要寫入的部分。

    最後,寫回你剛剛“讀出”的內容。

    另外:如果你想用我描述的方法,在ios::out模式下開啟它會看你的**,你想把乙個只包含原始畫素顏色資料的檔案做成乙個bmp檔案嗎? w

  7. 匿名使用者2024-02-01

    您可以建立乙個新檔案,並先將標頭寫入檔案,然後將第二個檔案的內容寫入剛剛建立的新檔案,而不是將該函式插入到檔案中。 好吧,這是唯一的方法!

  8. 匿名使用者2024-01-31

    教你乙個簡單的。

    file *file = fopen("d:","at");

    fprintf(檔案, “寫入內容測試”);

    fclose(file);

  9. 匿名使用者2024-01-30

    C語言不提供這樣的庫函式,所以你需要自己編寫。

    將檔案的內容寫入要插入到讀取緩衝區的位置後面,然後在寫入讀出之前找到檔案偏移量以插入資料。

    因為檔案是連續儲存在磁碟上的,所以不可能說內容直接插入中間而不覆蓋原文,其他語言根據上述思路提供自己的寫作。 或者除非有一些檔案系統的儲存方式不同(但我還沒有看到)。

  10. 匿名使用者2024-01-29

    如果是文字檔案,則取決於訪問檔案的形式:開啟檔案後,將檔案指標移動到要插入的位置,將資料快取在此位置,然後新增新資料,新增原始快取資料,因為普通檔案的儲存是磁碟上的連續空間。

    如果要儲存鍊表,只需更改鏈結即可,例如關聯式資料庫。

  11. 匿名使用者2024-01-28

    示例:cstring a1="ok";

    file *pfile=fopen("c:\\","a");

    fwrite(a1,1,strlen(a1),pfile);

    fclose(pfile);

    關鍵是"a"在此模式下,通過自動將寫入位置移動到寫入前的最後乙個字元,不會覆蓋之前的內容。

  12. 匿名使用者2024-01-27

    其實當程式需要寫乙個檔案的時候,需要先確定檔案是否存在,讀一次檔案,把檔案讀成乙個字串或流變數,然後再讀寫這個變數。

  13. 匿名使用者2024-01-26

    cfile file("e:\\student_",cfile::modewrite | cfile::modenotruncate);

    您還可以使用 cfile::modereadwrite 開啟檔案,然後使用 seektoend() 導航到檔案末尾。

  14. 匿名使用者2024-01-25

    這對於普通文字檔案是不可能的,只有結構檔案才能實現。

相關回答
17個回答2024-03-22

我們先來談談這個想法:

獲取此字串中的最後乙個。 location,即索引。 >>>More

8個回答2024-03-22

WinRAR還整合了卷壓縮功能,使用這個功能不需要像WinZip這樣的軟盤支援,在製作的時候可以將大檔案卷壓縮儲存在任何指定的碟符中,所以這也非常方便我們使用。 >>>More

23個回答2024-03-22

其實U盤中的資料夾無法刪除的原因有很多,有的是因為病毒,有的是因為U盤裡有系統檔案,有的是因為U盤資料的讀寫錯誤,U盤裡有很多空資料夾, 解決方案如下(我自己想通了,不一定全部適用): >>>More

10個回答2024-03-22

它是由騰訊出品的,是一款騰訊遊戲反外掛程式驅動,用於保護騰訊系列軟體,在出現SX錯誤的情況下系統資料夾的system32資料夾中生成的檔案,重啟後會自動刪除該檔案。 >>>More

10個回答2024-03-22

標題的意思在樓上說,這裡有乙個**。

string ss="aabbccddeegggddd"; >>>More