我遇到如下代码:
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写成二进制格式?