我有一个字符向量(实际上是无符号字符):
std::vector<unsigned char> vec;
我想把它/它复制到一个字符串对象。我试图通过以下方式做到这一点:
std::string requestedName;
for (auto letter : vec)
{
requestedName.append((char)letter);
}
但是compiller说这种转换是不可能的。我会帮助你。
答案 0 :(得分:4)
您可以使用运算符+=
执行此连接
std::vector<unsigned char> vec {'a', 'b', 'c', 'd'};
std::string requestedName;
for (auto letter : vec)
requestedName += letter;
也可以使用std::string
构造函数的以下重载
std::vector<unsigned char> vec {'a', 'b', 'c', 'd'};
std::string requestedName{ vec.begin(), vec.end() };