C++问题--fread⽂件读不完整问题解决
今天突然遇到⼀个问题,⽤fwrite/fread读写⽂件,发现当fread读取⽂件时只能读⼀半,即使⽤foef()查看是否读到⽂件结尾,也是显⽰⽂件已经读取到⽂件末尾,查看⽂件的返回值发现⽂件只读取了⼀半。
在这⾥记录⼀下:
fread函数并未读全我们⽂件⾥的内容,这是因为系统默认⽂件结束符为ctrl+z,⽽0x1A的ASCII值恰巧与ctrl+z的ASCII值相等,所以遇到0x1A fread就不再读⽂件。
解决⽅法是修改⽂件打开⽅式未⼆进制:
fread和fwrite的区别
把fp = fopen(“*.txt”,”r”);改成fp = fopen("*.txt", "rb+");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。