我有一个

vector<char> sectionData;


我想看看它的内容。我尝试以下

string sectionDataStr = string(sectionData.begin(),sectionData.end());


但是我只得到字符串中显示的sectionData的一部分,因为sectionData包含零。如果我想将整个数据读取为字符串,该怎么办?

我不能使用std :: cout
谢谢

最佳答案

您的问题不存在。这是一个简单的演示:

#include <string>
#include <iostream>

int main()
{
    std::cout << std::string { 'a', '\0', 'b', '\0', 'c' } << std::endl;
}


现在检查输出:

$ ./a.out | hexdump -C

00000000  61 00 62 00 63 0a




##         a \0  b \0  c \n


如您所见,它就在那里。



或者(按照您的编辑):

#include <cstdio>

std::fwrite(sectionDataStr.data(), sectionDataStr.size(), stdout);

07-25 23:45