C++ STRING 和WSTRING 之间的互相转换函数
来源:互联网 发布:软件设计方案及要求 编辑:程序博客网 时间:2024/05/23 13:41
#include <string>
std::string ws2s(const std::wstring& ws)
{
std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C";
setlocale(LC_ALL, "chs");
const wchar_t* _Source = ws.c_str();
size_t _Dsize = 2 * ws.size() + 1;
char *_Dest = new char[_Dsize];
memset(_Dest,0,_Dsize);
wcstombs(_Dest,_Source,_Dsize);
std::string result = _Dest;
delete []_Dest;
setlocale(LC_ALL, curLocale.c_str());
return result;
}
std::wstring s2ws(const std::string& s)
{
setlocale(LC_ALL, "chs");
const char* _Source = s.c_str();
size_t _Dsize = s.size() + 1;
wchar_t *_Dest = new wchar_t[_Dsize];
wmemset(_Dest, 0, _Dsize);
mbstowcs(_Dest,_Source,_Dsize);
std::wstring result = _Dest;
delete []_Dest;
setlocale(LC_ALL, "C");
return result;
}
转自:http://www.cppblog.com/kenwell/archive/2008/05/21/50661.html
- C++ STRING 和WSTRING 之间的互相转换函数
- c++ string 和wstring 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- wstring和string互相转换
- C++中wstring和string的互相转换
- wstring 和 string 之间的相互转换方法
- List和string之间的互相转换
- string和numeric之间的互相转换
- List和string之间的互相转换
- List和string之间的互相转换
- wstring string CString之间的转换
- wstring 与 string 之间的转换
- 在windows2003上部署apache+PHP遇到的部分问题(附IIS配置FastCGI驱动PHP方法)
- 极限优化:Haar特征的另一种的快速计算方法—boxfilter
- WCF学习:关于数据类(DataContract)中逻辑方法或复写方法未被初始化的原因及解决方案
- Sorting Slides(poj1486,绝对匹配边)
- 机器学习经典算法8-树回归
- C++ STRING 和WSTRING 之间的互相转换函数
- 地面储藏室而成这样
- SQL预处理句
- 解决Eclipse中文乱码
- Java JFrame实现无边框无标题
- 《Hadoop实战(第2版)》迷你书
- inline inline-block block 三者有什么区别
- String(hdu4681,最长公共序列+枚举)
- git添加颜色