gpt4 book ai didi

c - fread 和 fwrite 有不同的结果

转载 作者:太空宇宙 更新时间:2023-11-04 01:37:00 25 4
gpt4 key购买 nike

我正在使用 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上打开同一个文件,它们看起来还是不一样的。我在 windows 上打开旧文件,同时在 linux 上打开新文件。

最佳答案

如果要在 Windows 系统上以二进制形式读写文件,则需要在打开它们进行读取时指定:

file=fopen("source", "rb");

和写作:

file=fopen("target", "wb");

此外,不要忘记在使用文件句柄之前检查打开是否成功。 (文件!= NULL)

关于c - fread 和 fwrite 有不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com