MFC CString转换为string的宽字符问题解决
2017-02-10 16:43
204 查看
CString,如果项目用的是unicode的话那么实际上是CStringW类型,这个时候向string转换的时候,编译器会报错,const char* 无法转换为const w_char *,这个时候只能这个做了。
1 //tmp1极为CStringW宽字符变量
2 //转换为psText的char* 变量了
3
4 #ifdef UNICODE
5 DWORD dwNum = WideCharToMultiByte(CP_OEMCP, NULL, tmp1.GetBuffer(0), -1, NULL, 0, NULL, FALSE);
6 char *psText;
7 psText = new char[dwNum];
8 if (!psText)
9 delete []psText;
10 WideCharToMultiByte(CP_OEMCP, NULL, tmp1.GetBuffer(0), -1, psText, dwNum, NULL, FALSE);
11 #endif
注意要加上宏
1 //tmp1极为CStringW宽字符变量
2 //转换为psText的char* 变量了
3
4 #ifdef UNICODE
5 DWORD dwNum = WideCharToMultiByte(CP_OEMCP, NULL, tmp1.GetBuffer(0), -1, NULL, 0, NULL, FALSE);
6 char *psText;
7 psText = new char[dwNum];
8 if (!psText)
9 delete []psText;
10 WideCharToMultiByte(CP_OEMCP, NULL, tmp1.GetBuffer(0), -1, psText, dwNum, NULL, FALSE);
11 #endif
注意要加上宏
相关文章推荐
- MFC CString转换为string的宽字符问题解决
- 吕工帮我解决的字符转换问题
- IOS学习之路二十(程序json转换数据的中文字符问题解决)
- 使用String()解决utf-8字符转GB2312的问题
- C#中string和byte[]相互转换问题解决
- IOS学习之路二十(程序json转换数据的中文字符问题解决)
- ORA-06502: PL/SQL: 数字或值错误 : 字符到数值的转换错误 问题解决
- 解决ConfigParser模块读取、写入文件时自动转换为小写字符的问题
- unicode和多字节字符中CString转string方法,可解决中文乱码的问题
- Oracle用sys_Guid()创建为视图ID,.net跨库保存的值却为system_Byte[]问题解决--将sys_Guid()转换为string
- cocos2dx 添加 libiconv.lib 解决 字符转换问题
- 解决URL string里包含汉字转换NSURL的问题
- 关于java串口通信 接受显示 乱码的字符转换问题解决方案
- char *数据转换成string数据时数据后会自动加上一个随机字符问题
- 解决string.len 处理 utf-8 中文字符不正确的问题
- 完美解决某些字符插入到mysql数据库出现incorrect string value的问题
- ReadString在UNICODE下中文乱码的解决办法(Char型字符和Unicode字符的转换问题)
- IOS学习之路二十(程序json转换数据的中文字符问题解决)
- Linq中字段数据类型转换问题(Linq to entity,LINQ to Entities 不识别方法"System.String ToString()"问题解决)
- 解决中文字符乱码问题,如何将gbk格式转换utf-8格式