如何轻松地将无符号字符串转换为字符串?

时间:2017-05-11 17:34:39

标签: c++ string char

我将无符号字符串定义为包含无符号字符的字符串:

gc

因此,如果基本namespace std { typedef basic_string<unsigned char> ustring; } 的字符范围为-128到127,我怎样才能轻松将其转换为字符范围为0到255的std::string

1 个答案:

答案 0 :(得分:2)

你这样做:

using ustring = std::vector<unsigned char>;
std::string a("abc");
ustring b(a.begin(), a.end()); 

请注意,不会复制零终止符。

basic_string<unsigned char>需要专门化char_traits。并且不能将新名称添加到名称空间std