看板 C_and_CPP 關於我們 聯絡資訊
請問如何在寫入檔案之後 再往回插入另一段資料呢? 因為新的那段資料要在結尾才算得出來 所以我無法預先留空 有什麼有效的方法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.125.14
james732:何不等到新的資料算出來後,再全部寫進檔案呢? 03/29 00:12
legnaleurc:因為資料不算小,通常會是 400MB ~ 700MB 03/29 00:24
legnaleurc:檔案的規格也說這段資料一定要出現在前面 03/29 00:25
loveme00835:另外維護一個 position ←→ data 對的表格, 有新算出 03/29 00:28
loveme00835:來的結果存在這表格, 之後再用這表格&舊檔案再轉檔? 03/29 00:29
legnaleurc:樓上的意思是說,再寫另一個新檔案嗎? 03/29 00:32
loveme00835:新算出來的資料先別寫, 最後再做合併~ 03/29 00:34
legnaleurc:這樣在資料量大的時候用的額外時間空間不會很大嗎?QQ 03/29 00:36
loveme00835:舊檔+新資料→覆寫舊檔 03/29 00:38
loveme00835:這樣空間上應該解決了吧~ 搬移感覺是難免的 03/29 00:40
legnaleurc:嗯 ... 看起來還是免不了 move 03/29 00:43
hylkevin:算兩次如何? 03/29 05:19
loveme00835:樓上是指? 03/29 08:45
u8906250:可以參考fseek的用法,請小心使用 03/29 23:38
legnaleurc:fseek 不是只能移動寫入位置而已嗎? 03/30 13:19