[問題] C語言 檔案輸入和輸出

看板C_and_CPP (C/C++)作者 (筱釵)時間12年前 (2014/02/23 14:50), 編輯推噓0(009)
留言9則, 3人參與, 最新討論串1/2 (看更多)
我想要把一份檔案 把檔案裡面的東西讀進電腦 然後一模一樣的在另一個檔案輸出 (就很像複製一樣) 可是我跑出來的結果 在最後一個字會重複出現 就像: 原本資料是: 1 2 3 4 5 6 想要跑出來的結果是: 1 2 3 4 5 6 可是跑出來卻是: 1 2 3 4 5 66 所以想請大家幫我看一下是發生甚麼事了O_Q (那個原本要填問題的表格 太複雜了 我看不懂 只好自己打一篇 請見諒QQ) 最後附上程式碼~ http://codepad.org/ePCwQr0f -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.138.75 ※ 編輯: sheankuo 來自: 140.116.138.75 (02/23 14:51)

02/23 14:52, , 1F
最後一次fscanf雖然scan到eof了你還是會讓他執行fprintf
02/23 14:52, 1F

02/23 14:53, , 2F
^我說的這次fscanf應該會傳回EOF 且讓c不會變更值
02/23 14:53, 2F
不好意思 我聽得不是很懂QQ 如果fscanf 掃到了eof 那c不就也會變成 eof了嗎? 怎麼還是原本那個字元 ※ 編輯: sheankuo 來自: 140.116.138.75 (02/23 14:58)

02/23 14:59, , 3F
c不會變成eof喔 :) eof會是fscanf的return value
02/23 14:59, 3F
那... 可是我在 do的迴圈裡面 在 fprintf上面 加一個東西 http://codepad.org/9pNgkjLY 他不給我跑QQ ※ 編輯: sheankuo 來自: 140.116.138.75 (02/23 15:08)

02/23 18:58, , 4F
16行的括號括錯了唷 XD
02/23 18:58, 4F

02/23 18:59, , 5F
另外你現在會跳著取喔 直接把你新加的fgetc改成
02/23 18:59, 5F

02/23 18:59, , 6F
使用feof的用法就好了 (並不是直接把fgetc五個字改成
02/23 18:59, 6F

02/23 19:00, , 7F
feof四個字唷
02/23 19:00, 7F

02/24 08:42, , 8F
用fgets,一次讀一行
02/24 08:42, 8F

02/25 13:23, , 9F
跳著讀取是甚麼意思阿@@
02/25 13:23, 9F
文章代碼(AID): #1J2PegjP (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1J2PegjP (C_and_CPP)