[問題] 想請問關於寫入檔案指標的問題

看板C_and_CPP作者 (加路~)時間15年前 (2009/06/15 12:29), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
在程式運行中會不斷寫入一個txt檔, 想請問是否可以將檔案指標指定於檔案最末端, 讓新增資料不斷累積寫入? 有在網路上查到似乎可以使用seekp這個指令, 但詳細用法實在不太會, 跑出來始終無法成功,程式碼如下..... =============================================== for(int k=0;k<2;k++) { ofstream fout_test("test.txt"); fout_test.seekp(0,ios::end); for(int a=0;a<5;a++) fout_test << a; fout_test << endl; fout_test.close(); } ============================================== 執行出來的結果是: 01234 但我希望他出來的結果會是: 01234 01234 並隨著k增加而越來越多行這樣... 不知是我用法錯誤?還是沒有辦法這樣用呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.75.133 ※ 編輯: Qualenac 來自: 122.117.75.133 (06/15 12:31)

06/15 12:48, , 1F
"test.txt", ios_base::in | ios_base::out | ios_base::app
06/15 12:48, 1F

06/15 12:54, , 2F
忽然發現C++我還真是不會, 用FILE相關func就會了XD
06/15 12:54, 2F

06/15 15:22, , 3F
你幹嘛在迴圈裡開檔又關檔 把ofstream和close移出迴圈
06/15 15:22, 3F

06/15 15:23, , 4F
然後拿掉seekp 這樣應該是你要的吧...
06/15 15:23, 4F

06/15 19:26, , 5F
加入q大的指令,再把seekp拿掉就成功了!非常感謝~
06/15 19:26, 5F

06/15 19:28, , 6F
寫檔放迴圈是因為裡面還有讀檔的動作,抱歉沒說清楚...
06/15 19:28, 6F
文章代碼(AID): #1ADSukH1 (C_and_CPP)