首页 > 代码库 > MFC中解决文本保存到文件时乱码问题
MFC中解决文本保存到文件时乱码问题
在高版本的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中解决文本保存到文件时乱码问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。