【发布时间】:2015-07-23 04:38:39
【问题描述】:
在 MacOS X 10.10 CLang 中:
typedef basic_string<char, char_traits<char>, allocator<char> > string;
typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring;
我构建了一个字符串,例如: std::wstringstream ss;
ss << "[";
ss << "{";
ss << "x1:" << 111 << ",";
ss << "z1:" << 111;
ss << "},";
ss << "{";
ss << "x2:" << 222 << ",";
ss << "z2:" << 222;
ss << "}";
ss << "]";
std::wstring str = ss.str();
并且需要将str 作为参数传递给需要std::basic_string<uint16_t> 并返回相同类型字符串的函数。
如何在std::basic_string<wchar_t>和std::basic_string<uint16_t>之间进行转换以使用外部库函数?
允许使用 C++11。
也许使用wstring_convert 或一些解决方法?
【问题讨论】:
-
看看/搜索
std::codecvt。
标签: c++ string c++11 stl wstring