尝试过,这种方式非常好用,保存备用 源地址:https://www.cnblogs.com/SunboyL/archive/2013/03/31/stringandwstring.html #include <string> #include <locale.h> // 需包含locale、string头文件、使用setlocale函数。 std::wstring StringToWstring(const std::string str) {// string转wstring unsigned len = str.size() * 2;// 预留字节数 setlocale(LC_CTYPE, ""); //必须调用此函数 wchar_t *p = new wchar_t[len];// 申请一段内存存放转换后的字符串 mbstowcs(p,str.c_str(),len);// 转换 std::wstring str1(p); delete[] p;// 释放申请的内存 return str1; } std::string WstringToString(const std::wstring str) {// wstring转string unsigned len = str.size() * 4; setlocale(LC_CTYPE, ""); char *p = new char[len]; wcstombs(p,str.c_str(),len); std::string str1(p); delete[] p; return str1; } int main() { std::string str = "我是SunboyL。"; std::wstring str1 = StringToWstring(str);// string转换为wstring str1 = L"我是不是SunboyL。"; str = WstringToString(str1);// wstring转换为string return 0; }
wstring与string相互转换
猜你喜欢
转载自blog.csdn.net/whunamikey/article/details/89025805
今日推荐
周排行