今天在做系统类题时,用fwrite写入文件,打开文件发现乱码,百度了一下尝试了几种办法都没解决。
如图所示
第一种:认为“fwrite是将内存中的数据不经转换直接写入文件,所以文件中保存的是二进制形式,所以看到乱码”,然后尝试用fprintf写入文件,结果还是乱码。
第二种:是改变文件编码方式,将编码方式UTF-8改为ASNI编码方式,结构还是乱码。
最终仔细观察发现,乱码几乎都是在两个数据项之间,第一个数据无论是数字还是文字都不会乱码,所以我觉得编码和读写方式应该都没问题,然后我想起会不会是定义数组时没有赋初始值,导致数组有脏数据,然后我将数组赋值0后就没乱码了。
下面一行是数组赋初始值后。