部分成功地将矢量<uint8_t>对象以二进制格式写入文件

时间:2017-03-02 17:49:33

标签: c++ binary ostream

我遇到如下代码:

class A{
std::vector<std::uint8_t> vec;
std::uint32_t i;

... // init vec and i
public:
void w(ostream &os){
    os.write((const char*)&i,sizeof(i));
    os.write((const char*)&vec[0],sizeof(vec[0])*vec.size());
}
};

我通过ofstream称为“w”

A a();
std::ofstream ofs("file");
a.w(ofs);
ofs.close();

vec存储一系列字符,但是,文件包含二进制值“i”而不是二进制格式的字符序列。

如何将vec写成二进制格式?

0 个答案:

没有答案