标准::向量<char>到标准::字符串

std::vector<char> to std::string

本文关键字:标准 字符串 gt lt 向量 char      更新时间:2023-10-16

我正在尝试使用以下方法将std::vector<char>转换为字符串:

//  Data has been received, update the buffer...
buffer = readBuffer.data();
buffer[bytesRead-1] = '';

我遇到的问题是,当我调试 readBuffer 时,我得到"<A HREF="https://www.google.com/">here</A>."

但是在查看缓冲区时,我得到了'<A HREF="https://ww ²²²²▌▌╫$Ö►¬∟☺.google.com/">here</A>.'

我真的错过了什么吗?

在字符向量的末尾写入空字符不会神奇地创建std::string。要创建实际std::string,请使用如下内容:

std::string s = std::string(readBuffer.begin(), readBuffer.end());

您无需将 null 字符显式附加到字符串,std::string构造函数将为您完成此操作。