我将无符号字符串定义为包含无符号字符的字符串:
gc
因此,如果基本namespace std
{
typedef basic_string<unsigned char> ustring;
}
的字符范围为-128到127,我怎样才能轻松将其转换为字符范围为0到255的std::string
?
答案 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
。