码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-10-19 09:43:41      阅读:599      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!