我使用的fread從文件中讀取,然後使用fwrite來寫anothe文件。但是新文件的內容與舊文件的內容略有不同(新文件有更多字符),你知道什麼會導致這種情況,以及如何解決它?FREAD和fwrite有差異的結果
閱讀
file= fopen(locationHolder[x], "r");
chunkToSend.chunkcontent.data = malloc(20000);
chunkToSend.chunkcontent.len = fread(chunkToSend.chunkcontent.data , 1, 20000, file);
寫
file = fopen(filelocation, "w");
fwrite(responseChunk->chunkcontent.data, 1, responseChunk->chunkcontent.len, file);
這是我讀文件:
†+ƒCÃÅ«*u`‘Ÿ‘Ž÷-U‰ÎVøÈ ýÇ}‡3²SûYè³…öeŠ
5êèMØ「—~K¾ëb–܆º[ö¿äWÔM)
ø˜i ¯’#\×b!¥^b€÷ûƒãq.]…©\.u7بøöÔv´cgÒD–o_ÊûG}^ªmÞŸ}ÛåŒ}?Ž…WíëH
?̓>—」*î`ÔÿïÖtàNÕ$Cú¾@Ž›¿Žíohy5ÅE5qز9¡_S雉+þ¦¥²‘*Jíf†
#¸«vÌÏ s¼üEÃe+vLrF¯Gå3šú¦Ì×Mçó
<f¥#ÇyEBŠ1iÉŒ6pZa›MSÅîl:ôšËħ
Jþ}ÜÍÃÑ1˜´+$f̆\Ø$±)sæâ¼üõÅ‘Ï™Àd–ÚDM*Ì
R¯èÕ¼£C†}—
¸mݼž„ª1øL5E‰_ð7âHö:´¡`¼E[Ö<BJüR’½Ê€「%8p
LÄ] ¡û2ì––û}ðCÓîŽBáæeÎøëåZ§ "
[Òºèf¯Œÿ»'L"g‚æ°C«G§¸IŸ‰ˆÚ‘_´G’.ÂÝp¯K%RÕlÍâ3÷À+\9rØ‚/˱V¨?Ù}ܨ›`l½î~RŽbŒ—w˜[£¦2™¾RÿÁeÎPbeö‘¿±¤N#Oåãº&
Êc9OËbÿÊ3ÚV⛩²TPdx»ÉbèÁW8×MAà¥ó]D
å™QØè’¿=Ÿ±$BºÀŒdž\3âZ³‰×…׉…¹dؾíÂÂÎA^ǦèÕ`±³ï
<µ¡QGÙY—-p÷›AÂ+pžD‘©ûÊÄÉ÷¢y×çÃt…ˆæîYiGÇÊAðÁô¡4YWoâ=ÊÁ+¤·•Ï)ùïéÚTVî±0ME¡{Èÿ‚.G°Ágª¯‚É9&ê¡ÑUIÃĤb†§JâY&_SæþJãi›©'È›XA’M[dY&²AbîAëfG½€oN(oM+CzíµÚ
這是我寫的文件:
†+ƒCÃÅ«*u`‘Ÿ‘Ž÷-U‰ÎVøÈ ýÇ}‡3²SûYè³…öeŠ
5êèMØ「—~K¾ëb–܆º[ö¿äWÔM)
ø˜i ¯’#\×b!¥^b€÷ûƒãq.]…©\.u7بøöÔv´cgÒD–o_ÊûG}^ªmÞŸ}O…ªœ¦ÛåŒ}?Ž…WíëH
?̓>—」*î`ÔÿïÖtàNÕköR,E·$Cú¾@Ž›¿Žíohy5ÅE5qز9¡_S雉+þ¦¥²‘*Jíf†
#¸«vÌÏ s¼üEÃe+vLrßÞ¾"ò1%áoÌû/êF¯Gå3šú¦Ì×Mçó
<f¥#ÇyEBŠ1iÉŒ6pZa›MSÅîl:ôšËħ
Jþ}ÜÍÃÑ1˜´+$f̆\Ø$±)sæâ¼üõÅ‘Ï™Àd–ÚDM*Ì
R¯èÕ¼£C†}—
¸mݼž„ª1øL5E‰_ð7âHö:´¡`¼E[Ö<BJüR’½Ê€「%8p
LÄ] ¡û2ì––û}ðCÓîŽBáæeÎøëåZ§ "
[Òºèf¯Œÿ»'L"g‚æ°C«G§¸IŸ‰ˆÚ‘_´G’.§b[•’KÛ0I¼û´)•Á
é_「Ä*ÂÝp¯K%RÕlÍâ3÷À+\9rØ‚/˱V¨?Ù}ܨ›`l½î~RŽbŒ—w˜[£¦2™¾RÿÁeÎPbeö‘¿±¤N#Oåãº&
Êc9OËbÿÊ3ÚV⛩²TPdx»ÉbèÁW8×MAà¥ó]D
å™QØè’¿=Ÿ±$BºÀŒdž\3âZ³‰×…׉…¹dؾíÂÂÎA^ǦèÕ`±³ï
<µ¡QGÙY—-p÷›AÂ+pžD‘©ûÊÄÉ÷¢y×çÃt…ˆæîYiGÇÊAðÁô¡4YWoâ=ÊåÓñš‰Ö_」]½ÅÛô8ª<‡·gœ¡C`øm¼Á+¤·•Ï)ùïéÚTVî±0ME¡{Èÿ‚.G°Ágª¯‚É9&©pöïMâF³°Ä}à–+iä0;ˆ7Y|Å4u¹SFŸwê¡ÑUIÃĤb†§JâY&_SæþJãi›©'È›XA’M[dY&²AbîAë[‚þ%\6¿ÿ=î…Èq‚ÌÉ$é「o
àƒž「ªÔ~ºÐ¹ÿÔ_löfG½€oN(o§ƒþ7Í
Âý0«F\!¡Ä¹\ÙoÑ,¼W™´CC#mà]
** ------沒關係,找出問題所在。如果你在window和linux上打開同一個文件,它們看起來還是不一樣的。當我打開新文件linux時,我在Windows上打開舊文件。
有什麼區別? – Minion91
這是在MS Windows上嗎?如果是這樣,您必須在打開時複製文本/二進制模式。 – wallyk
嘗試'memset(chunkToSend.chunkcontent.data,0,20000)' – Eun