从二进制向量中获取文本

时间:2015-09-16 14:45:42

标签: c++ string binary

我有一个

std::vector<unsigned char> data;

包含二进制读取文件。

如果我把它写到

std::ofstream outputFile("file", std::ios_base::binary);

我会在其中看到常规文字。然后我可以将它读入std :: string,它将包含文本。 是否可以将矢量直接复制到具有相同结果的字符串?

2 个答案:

答案 0 :(得分:2)

使用std::string构造函数的第6种形式:

// Example program
#include <iostream>
#include <string>
#include <vector>

int main()
{
    std::vector<unsigned char> data{'a', 'b', 'c'};
    std::string str(data.begin(), data.end());
    std::cout << str << std::endl;
}

Live demo here

答案 1 :(得分:0)

来自http://www.cplusplus.com/reference/string/string/string/

使用std::String s(data.begin(), data.end());