std :: vector <char>到std :: string

Pau*_*iss 3 c++ vector

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

//  Data has been received, update the buffer...
buffer = readBuffer.data();
buffer[bytesRead-1] = '\0';
Run Code Online (Sandbox Code Playgroud)

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

但在审查我得到的缓冲区 '<A HREF="https://ww ²²²²???$Ö?¬??.google.com/">here</A>.'

我错过了一些非常明显的东西吗?

use*_*342 15

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

std::string s = std::string(readBuffer.begin(), readBuffer.end());
Run Code Online (Sandbox Code Playgroud)

您不需要将null字符显式附加到字符串,std::string构造函数将为您执行此操作.