C++中TCHR转string
2016-03-11 16:34
232 查看
一般C++标准库中的string不支持宽字节,也就是unicode字符集。
所以要想将TCHAR或wchar转换成string,则需调用系统函数WideCharToMultiByte
反之,要想将多字节转换为unicode,则需使用相反的函数即可MultiByteToWideChar
另
若工程的字符集为unicode,则可以使用标准库的宽字符版,即名字前加w,例如wstring,wcout,wcin
所以要想将TCHAR或wchar转换成string,则需调用系统函数WideCharToMultiByte
int len = WideCharToMultiByte(CP_ACP, 0, *s, -1, NULL, 0, NULL, NULL); char *new_str = new char[len * sizeof(char)]; WideCharToMultiByte(CP_ACP, 0, *s, -1, new_str, len, NULL, NULL); string s(new_str);
反之,要想将多字节转换为unicode,则需使用相反的函数即可MultiByteToWideChar
另
若工程的字符集为unicode,则可以使用标准库的宽字符版,即名字前加w,例如wstring,wcout,wcin
相关文章推荐
- 【C++】拷贝构造函数之浅复制与深复制
- c++基础--IO类
- 链式栈C++实现
- 链表C++实现
- 静态循环队列C++实现
- C语言关于多进程的总结
- 汉诺塔C++实现
- 标准c++中string类函数介绍
- 《你必须知道的495个C语言问题》读书笔记之第1-2章:声明和初始化
- C++第一上机实验-1-3
- ACM--括号匹配C++实现
- 快速排序递归算法
- 10 进制数转化成10以内任意进制数
- 机试题螺旋矩阵C++实现
- 研究具有静态存储时期的变量的初始化时间
- 在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
- 在C/C++代码中使用SSE等指令集的指令(4)SSE指令集Intrinsic函数使用
- [C++]IDictionary的用法
- 在C/C++代码中使用SSE等指令集的指令(2)参考手册
- 在C/C++代码中使用SSE等指令集的指令(1)介绍