C++中wstring和string的互相转换

1、wstring 转换为string

#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;}

2、string转化为string

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;}

,不如意的时候不要尽往悲伤里钻,想想有笑声的日子吧

C++中wstring和string的互相转换

相关文章:

你感兴趣的文章:

标签云: