→ sa072686:大概是最後一筆讀到剛好 下一次read才真正EOF 12/17 20:03
→ sa072686:在fread()後面加個if(feof(in)) break; 之類試試 12/17 20:04
→ sa072686:應該不是讀兩次 而是下一次沒讀到東西 既有資料維持原樣 12/17 20:05
推 ianlini:我這樣寫好像沒問題= = 12/17 22:43
推 ianlini:我在程式一開始就有執行跟這個一模一樣程式碼 12/18 14:28
→ ianlini:用來複製檔案 12/18 14:28
→ ianlini:可是不管在自己電腦還是批改娘 都是得到正確的結果耶= = 12/18 14:29
推 ianlini:我試過先fread一次再寫while(裡面read和write反過來) 12/18 14:56
→ ianlini:得到的結果一樣= = 12/18 14:57
推 han960691:有可能是你讀的測資原本的格式沒有設成你要讀取的格式 12/19 23:43
→ han960691:EX:struct{ char a[24],int b}這有24bit但你給的測資 12/19 23:44
→ han960691:沒有依照每24bit一格的格式所以才會在結尾有多東西 12/19 23:45
→ han960691:我不是很確定啦~XD 12/19 23:45
推 LPH66:學弟們有先看過我推的這篇文章嗎? 12/20 00:27
推 MrGreat:我也曾經出現過這種情況,可能的原因是讀完最後一筆entry 12/20 07:29
→ MrGreat:還沒讀到EOF,可能還有換行、空白之類的,下次fread時才EO 12/20 07:30
→ MrGreat:F,所以會寫入既有的(最後一筆資料),造成重覆,大概吧 12/20 07:33
→ lacrimosacat:謝謝大家的想法 12/20 08:59