→ TobyH4cker: r+ ... 04/19 19:57
→ TobyH4cker: 沒事 04/19 19:57
→ TobyH4cker: 檔案串流是這樣,你讀取到哪裡,指標就指到哪裡 04/19 19:58
→ TobyH4cker: 所以如果要直接對串流做修改,要再修改指標位址 04/19 20:00
→ TobyH4cker: fseek 04/19 20:00
推 EdisonX: char ch; 04/19 20:12
→ EdisonX: FILE * fp = fopen("C:\\s.txt", "r+"); 04/19 20:13
→ EdisonX: @@ 手機掛了,請無視上面兩行 Orz 04/19 20:13
→ zoooooa: 謝謝樓上兩位解答 感恩~ 04/19 20:19
→ EdisonX: 抱歉我只是雞婆想問... 這種直接對檔案做修改處理的 , 04/19 20:43
→ EdisonX: 真的會比全都 dump 到記憶體改完,再一次寫回去快嗎 ??? 04/19 20:44
→ EdisonX: 我的記憶還停留在對檔案處理的函式用得愈少愈好,拉到mem 04/19 20:44
→ EdisonX: 裡做完再一次處理速度比較快... 04/19 20:45
→ MOONRAKER: fputc()是buffered output,你需要用fread()/fwrite() 04/19 20:46
→ MOONRAKER: 達成直接讀寫。 04/19 20:46
→ MOONRAKER: 至於快或慢,當檔案比可用記憶體大很多、或者很久很久 04/19 20:47
→ MOONRAKER: 才要更改檔案內一些小地方時,buffered read是否還一樣 04/19 20:49
→ MOONRAKER: 好呢? 04/19 20:49
推 EdisonX: 原來如此.. 那應是我讀寫的算小檔而已 (數MB), 感謝 M 大 04/19 20:52
→ MOONRAKER: 也只是理論而已 畢竟現在這種記憶體很少又沒有VM的狀況 04/19 20:56
→ MOONRAKER: 不多 但是像單晶片上可能就有差了 04/19 20:57