CFile读取文件时末尾出现乱码的问题
2011-03-08 14:02
197 查看
今天在调试程序的时候发现将一段字符串写进文件时没有问题,从文件中读取出来时出现了问题,读取出来的字符串的末尾却带有一段乱码。
我用CFile::GetLength()得到其长度大小,按其大小来分配的内存来存储这段字符串,但还是出现乱码。经分析,还是基础知识忘了,基础没打好啊。
在char型字符串进行显示时,它的尾部必须是以NULL为结束的,而在Debug模式下,系统本身有关于指针的冗余操作,因此它会给你自动截去后面的部分而给你补上结束符标志。在Release模式下,系统是不会去管这些的,因此在显示时会出现些多的东西出来。
char str[2049];
memset(str , 0 , 2049 );
file.Read(str , 2048 );
file.Close;
也可以这样:
char buf[2049];
file.Read(buf,2048);
buf[2048]=0;
注意字符串尾要有结束符!!!
我用CFile::GetLength()得到其长度大小,按其大小来分配的内存来存储这段字符串,但还是出现乱码。经分析,还是基础知识忘了,基础没打好啊。
在char型字符串进行显示时,它的尾部必须是以NULL为结束的,而在Debug模式下,系统本身有关于指针的冗余操作,因此它会给你自动截去后面的部分而给你补上结束符标志。在Release模式下,系统是不会去管这些的,因此在显示时会出现些多的东西出来。
char str[2049];
memset(str , 0 , 2049 );
file.Read(str , 2048 );
file.Close;
也可以这样:
char buf[2049];
file.Read(buf,2048);
buf[2048]=0;
注意字符串尾要有结束符!!!
相关文章推荐
- CFile读取文件时末尾出现乱码的问题
- CFile类清空原有文件以及读取时末尾添加乱码的问题
- 使用CStdioFile 读取Unicode文件时出现乱码问题解决方案
- 关于使用IDEA读取txt文件出现中文乱码的问题
- Java:InputStream读取文本文件内容出现乱码问题的解决方法
- 使用Unicode字符集时用CFile把中文写入txt文件再用记事本打开出现乱码的问题
- java:InputStream读取文件时出现中文乱码问题
- 读取java的配置文件.properties出现乱码问题
- 读取文件时出现中文乱码问题的解决
- 使用Unicode字符集时用CFile把中文写入txt文件再用记事本打开出现乱码的问题
- 关于Spring boot中读取属性配置文件出现中文乱码的问题的解决
- 关于javascript从txt文件中读取内容出现乱码的问题
- Android小知识——从SD卡中向APP中读取txt文件的时候出现乱码的问题
- Learning Python 015 Python3解决问题:读取文件时,出现乱码或者“UnicodeDecodeError 'gbk' codec can't decode” 错误
- IO 流读取文件时候出现乱码 文件编码格式问题 怎么转换解决方法
- IO 流读取文件时候出现乱码 文件编码格式问题 怎么转换解决方法
- spring使用@Value注解读取.properties文件时出现中文乱码问题的解决
- C#中读取txt文件中的中文时出现乱码问题
- QT读取文件出现乱码的问题
- 安卓(JAVA)读取Mp3文件中的歌曲信息(及readLine()出现乱码问题的解决方法)