首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

wtring怎么转化成string

2012-03-25 
wtring如何转化成stringwtring如何转化成string[解决办法]比较麻烦,就我所知,需要用C函数wcstombs,而且还

wtring如何转化成string
wtring如何转化成string

[解决办法]
比较麻烦,就我所知,需要用C函数wcstombs,而且还不能直接转,得用vector <char> 过渡。
wstring wstr( "asfasd ");
vector <char> vstr(wstr.size()*2);
size_t len=wcstombs(&vstr[0],wstr.c_str(), INT_MAX);
string str(vstr.begin(), vstr.begin()+len);
我也一直在找C++标准库是不是存在什么直接的转换方法。
[解决办法]

刚说完,又来了, 先转成char数组,然后赋值给string;
#include <locale>

char czz[101]= "Begin被替换End ";
wstring str2 = L "中1中文2 ";
string str;
setlocale(LC_ALL, " "); //设置本地默认
wcstombs(czz,str2.c_str(),sizeof(czz));
setlocale(LC_ALL, "C "); //用完恢复

str=czz;

热点排行