使用CStdioFile 读取Unicode文件时出现乱码问题解决方案
来源:互联网 发布:淘宝卖家淘金币 编辑:程序博客网 时间:2024/05/16 13:03
使用CStdioFile 读取Unicode文件时出现乱码问题解决方案
我们都知道在stdFile.ReadString(temp)中,temp是CString类型,但是我们接收到的数据由于是宽字符
,所以在CEditBox显示有乱码。
可能网上提供了大量的方法将WCHAR或者wchar_t转化为CString的方法,不可少都用到了
MultiByteToWideChar和WideCharToMultiByte方法。
不过我在这里提供一种更为简便的方式,使用CStringA来接收stdFile.ReadString中的数据。
摘自:http://blog.csdn.net/password318/article/details/7003979
使用UNICODE字符集编程时,总是需要使用那些不支持UNICODE的库,例如sqlite3,Lua等必须使用char*
类型的。这个时候用CStringA是最好的。
另外CStringA与CString可以灵活地随意转换赋值,注意不能这样用:
CString str1;
CStringA str2=str1;
而要这样用:
CStringA str2;
str2=str1;
这样就可以把UNICODE版本字符串转换为Ansi版本了,非常之强大,非常之方便!
所以我在这里直接使用CStringA代替CString,获取字符,获取内容正确。
我的代码:
CString temp;
CStringA strTemp;
CString filePath = "logofile.txt"; //加载文件路径(相对路径)
CStdioFile stdFile;
if( stdFile.Open(filePath,CStdioFile::modeRead))
{
while( stdFile.ReadString(temp))
{
strTemp += temp;
strTemp += "\r\n"; //换行
}
stdFile.Close();
}
return strTemp;
希望这个方法对和我有一样困惑的人有所帮助。
- 使用CStdioFile 读取Unicode文件时出现乱码问题解决方案
- UNICODE环境下CStdioFile 读文本文件乱码问题解决方案
- CStdioFile UNICODE编译 读取中文汉字乱码
- CStdioFile UNICODE编译 读取中文汉字乱码
- CStdioFile UNICODE编译 读取中文汉字乱码 .
- 使用Kettle抽取数据时,出现中文乱码问题解决方案
- PHP使用UTF8编码读取ACCESS的乱码问题解决方案
- Unicode 文件内容读取乱码
- Flash读取XML文件的中文时出现乱码问题解决方法
- CStdioFile读取文件
- linux下使用vim打开文件乱码问题解决方案
- VC 编程ANSI环境下读写Unicode文件和将CStdioFile类扩展,读取UNICODE文本文件
- THINKPHP 读取oracle乱码问题解决方案
- php读取淘宝数据包csv文件 unicode ucs-2 utf-16 中文乱码问题解决
- CStdioFile实现完美支持UNICODE方案
- 使用CStdioFile 读写UNICODE文档
- 使用CStdioFile 读写UNICODE文档
- 使用CStdioFile 读写UNICODE文档
- sizeof new delete
- 以后还得自已写点东西
- 母版页中引用图片,外部js、css文件的路径问题
- “ 第一次亲密接触”—系统测试
- hdu2352
- 使用CStdioFile 读取Unicode文件时出现乱码问题解决方案
- 新
- HDU 4288 Coder(12年成都 线段树)
- HDU 2573 打字 (2577动态规划)
- 添加配置文件代码 windows下安装emacs 其实也容易
- Java Applet 冲突检测简单版
- 【php】文件处理操作
- Fedora 9安装相应QT SDK
- bzoj1035