[英]Write and read a complex object to file in c++
我有一个对象,其他对象的多个向量作为成员。 我想一次将此对象全部写入文件(以二进制模式),而不是写入每个成员。 我怎样才能做到这一点? 在这种情况下,我想从类AccList中写入对象“ A”(我所有的数据都保存在“ A”中!),这是我的ClassDiagram: http ://askus.ir/ClassDiagram1.png
您可以使用boost :: serialization来做到这一点
您必须在对象上添加一种方法
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & this->foo & this->bar;
}
此方法定义必须存储的成员
之后,为保存对象,您必须执行以下操作:
std::ofstream ofs("filename");
boost::archive::binary_oarchive oa(ofs);
oa << data;
读取对象的方法相同,
std::ifstream ifs("filename");
boost::archive::binary_iarchive ia(ifs);
ia >> data;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.