c ++ wstring特殊字符

时间:2018-02-18 15:24:01

标签: c++ json cpprest-sdk

我正在使用cpprestsdk来使用JSON。在创建JSON期间,我遇到了Å等特殊字符的问题。例如:

json::value json;
std:string s = "ÅÅÅ";
std::wstring wstvalue(s.begin(), s.end());
json[L"key"] = json::value::string(wstvalue)

由于JSON只接受std::wstring我无法将正则字符串正确转换为wstring。 json.key的结果很奇怪,并不符合初始ÅÅÅ值。 如何使用Å等字符正确地将常规std::string转换为std::wstring

1 个答案:

答案 0 :(得分:0)

Here我使用std::mbstowcs创建了下一个解决方案:

json::value json;
std:string s = "ÅÅÅ";
std::wstring wstvalue(s.size(), L' ');
wstvalue.resize(std::mbstowcs(&wstvalue[0], s.c_str(), s.size()));
json[L"key"] = json::value::string(wstvalue)