将字符向量转换为字符串的最快方法

Fastest way to convert vector of chars to a string

本文关键字:方法 字符串 字符 向量 转换      更新时间:2023-10-16

我有一个字符向量(实际上是无符号字符):

std::vector<unsigned char> vec;

我想将其强制转换/复制到字符串对象。我尝试通过以下方式执行此操作:

std::string requestedName;
for (auto letter : vec)
{
    requestedName.append((char)letter);
}

但compiller说这种转换是不可能的。我会感谢所有的帮助。

您可以使用运算符+=来执行此串联

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() };