C++問題--fread文件讀不完整問題解決



今天突然遇到一個問題,用fwrite/fread讀寫文件,發現當fread讀取文件時只能讀一半, 即使用foef()查看是否讀到文件結尾,也是顯示文件已經讀取到文件末尾,查看文件的返回值發現文件只讀取了一半。

在這里記錄一下: 
fread函數並未讀全我們文件里的內容,這是因為系統默認文件結束符為ctrl+z,而0x1A的ASCII值恰巧與ctrl+z的ASCII值相等,所以遇到 0x1A fread就不再讀文件。 

解決方法是修改文件打開方式未二進制:
把fp = fopen(“*.txt”,”r”);改成fp = fopen("*.txt", "rb+");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM