[問題] 關於讀檔和寫檔

看板C_and_CPP作者 (均)時間16年前 (2009/12/18 23:48), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串1/5 (看更多)
想問一下,一開始讀進來的.txt是像是電話簿的形式 EX: Apple 11223 Bug 32122 Ccc 12312 Done 12321 讀進來後放進AVL tree 然後我現在要刪掉其中一個,例如要刪掉(Bug 32122)這個 變成 Apple 11223 Ccc 12312 Done 12321 然後程式結束後要把這樣的結果放回去.txt檔裡 我有試過用file=fopen("phone.txt","a"); 和file=fopen("phone.txt","w"); 用file=fopen("phone.txt","a"); 結果會變成很窘的這樣: Apple 11223 Bug 32122 Ccc 12312 Done 12321Apple 11223 Ccc 12312 Done 12321 用file=fopen("phone.txt","w"); 結果會更窘的這樣 Done 12321 (後面還出現幾個亂碼) 因為我讀的檔和寫的檔要同一個, 所以想要試著把原來檔案的資料全部變成改過的, 翻以前學的大概也是"w"、"w+"、"a"、"a+"這幾種 我的想法是,讀檔讀完後,把原來.txt檔裡的東西清除, 這樣在寫檔的時候就可以直接寫在.txt檔裡了,不過不知道這方法可不可行。 大概就這些,Q_Q不知道會不會講得很模糊,還是麻煩知道的大大幫忙。 謝謝。 -- 肝不好 肝若好 人生是黑白的 考卷是空白的 、 ﹐ ● ●b ▎ ●> ● ▌ ﹍﹍ 囧> 幹... ▲ ■┘ ▎ ■ ▋ ︶■ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.64.140

12/19 00:02, , 1F
應該"w"就是正解了 你回頭檢查一下你的寫檔部份有沒有問題
12/19 00:02, 1F

12/19 00:19, , 2F
等等 你中間有關檔過嗎? 沒有的話改用"r+"開試試
12/19 00:19, 2F
文章代碼(AID): #1BAwHBiC (C_and_CPP)
文章代碼(AID): #1BAwHBiC (C_and_CPP)