永发信息网

从“std::string”转换为“const wchar_t” 从 “const char *”转换为“const wchar_t *”

答案:1  悬赏:40  手机版
解决时间 2021-11-16 05:45
从“std::string”转换为“const wchar_t” 从 “const char *”转换为“const wchar_t *”
最佳答案
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;
}
上面那个是wstring转换为string的,下面的反之,你试试
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
南京502车哪站到妇幼
E大调是什么意思?
想做产品经理,怎样入行?
私密达私护套装效果如何?
野苜蓿头馅的水饺要吃吗
|al=5,lbl=8,且a>b,a和b的值是?
细说老鸭鸭汤怎么做的
插旗村地址在哪,我要去那里办事,
关于蝴蝶的诗句
坐海盗船的最后一排和坐大摆锤,哪个更吓人些
欢欢大巴第二十期都是哪些电影
广东省旅游学校好吗?
WOW插件里有个活跃度是什么东西?
鲤中洪桥停车场怎么去啊,我要去那办事
南宁市哪里有搞门窗装璜的
推荐资讯
刑事诈骗从立案到法院结案.要经过几道程序
我两个月被罚款五万多元,怎么申请劳动仲裁?
三查片是碱性食物吗
航行广告地址在哪,我要去那里办事,
机械制图里M27×1.5-6h是什么意思?如果还要
小孩腿上是又怎么回事
cpu序列号与包装一样 但opn不一样 是正品吗op
谁能告诉我池州职业技术学院在哪个方向吗
求2pm 2014 GO CRAZY 首尔场或北京场演唱会的
邹市明获得了最高成就荣誉奖吗?
东南DX3新款适合女士开嘛?
666.66×6666.7+99999×22.222怎么算
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?