转换标准::basic_string<wchar_t>和标准::basic_string<uint16_t>
Convert std::basic_string<wchar_t> and std::basic_string<uint16_t>
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::basic_string<wchar_t>
具有与输入std::basic_string<uint16_t>
相同的编码。如果编码不同,则应查找编码转换算法的特定字符。否则您可以做这样的事情。
std::basic_string<uint16_t> result;
std::copy(source.begin(), source.end(), std::back_inserter(result));
相关文章:
- EASTL矢量<向量<int>>连续的
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 这是 basic.def.odr 部分的缺陷吗?
- 未定义的对象(〔basic.life〕/8):为什么允许引用重新绑定(和常量修改)
- C++标准在[basic.scope.hiding]中"same scope"到底意味着什么?
- 为什么我们需要 [basic.scope.class]/2?
- C - 创建矢量&lt; vector&lt; double&gt;&gt;矩阵具有分配而不是inizializ
- [basic.lookup]/1 中最后一句话是什么意思?
- C 字符串比较“祝您好运”&gt;“再见”
- 字符串C :libc abi.dylib:终止未被发现的类型std :: out_of_range:basic
- TagniFi的HTTPS Basic Authentication 在 Qt 中失败
- 为什么将此对向量&lt; map&lt; int,int&gt;&gt;中的地图进行更新.失败
- 尝试实施 PIMPL idom 时如何避免"redefinition; different basic types"
- 这个给定算法中的"basic operation"究竟是什么
- C :对矢量进行排序&lt; struct&gt;(结构有2个整数)基于结构的整数之一
- C 操作员&gt;&gt;与突变器过载
- 明确的专业化“ CheckIntmap&lt;&gt;”实例化
- 我在理解 [basic.scope.pdecl]/7 时遇到一些困难
- 是否需要使用 - &gt;运算符在C 中调用成员函数时
- 什么是模板&lt;&gt;inline bla bla