fwrite實際寫入的文件大小比指定的大

基本代碼:

fp = fopen(filename,"w");

fwrite(buf,sizeof(unsigned char), 96,fp);

fclose(fp);

 

而後查看文件大小不是96,而是101.

 

把文件和buf內容比較,發現差異是,buf中所有出現0x0a的地方,文件中都會多出一個0x0d,其他內容則正常。

 

在一個論壇上看到“win下用文本方式讀寫文件,會在0A(換行)前加0D(回車)”,解決辦法是“以二進制形式打開文件,WIN下不會在0A(換行)前加0D(回車)”;

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