gpt4 book ai didi

c++ - 转换 std::basic_string 和 std::basic_string

转载 作者:行者123 更新时间:2023-11-28 06:16:32 34 4
gpt4 key购买 nike

在 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));

关于c++ - 转换 std::basic_string<wchar_t> 和 std::basic_string<uint16_t>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30188610/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com