首页 > 编程语言 > 详细

MFC中解决文本保存到文件时乱码问题

时间:2016-10-19 09:41:20      阅读:270      评论:0      收藏:0      [点我收藏+]

 

在高版本的VS中,若直接将CString保存到文本文件中,可能会出现乱码问题

原因就在于项目的编码跟系统的默认编码不同(Unicode和GB2312),这个时候使用如下代码,即可解决。

unsigned char CharSet[2]; //写入文件字符编码(UTF)

CharSet[0]=0xFF;
CharSet[1]=0xFE;

InFile.Write(CharSet,sizeof(CharSet));

到这里呢,可以解决乱码的问题,但是,很可能出现内容只剩下一半的情况,那是因为CFile是面向字节的,大小是以字节为单位,但是CString是以双字节为单位(Unicode),此时可以使用如下代码解决
InFile.Write(FileContent,FileContent.GetLength()*2);
//默认Unicode,转换为Byte时乘以2

 

MFC中解决文本保存到文件时乱码问题

原文:http://www.cnblogs.com/codecamel/p/5975946.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!