Windows平臺下fwrite函數0x0A變成0x0D 0x0A

在Windows環境下,用fwrite向文件中寫數據時,當寫入0x0A時,其前面總會被加上一個0x0D。後來發現出現這個問題的原因是fwrite 在以文本方式寫文件時,碰到0x0A,會自動在前面加上0x0D,以夠成回車換行符,因爲Windows平臺的換行符默認是:0x0D 0x0A。解決辦法是以二進制方式打開文件,然後進行寫文件。

分析問題代碼:

fopen( "openfile", "a+" );

修改爲:

fopen( "openfile", "a+b" );
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章