繁体   English   中英

用C ++编写和读取复杂对象以归档

[英]Write and read a complex object to file in c++

我有一个对象,其他对象的多个向量作为成员。 我想一次将此对象全部写入文件(以二进制模式),而不是写入每个成员。 我怎样才能做到这一点? 在这种情况下,我想从类AccList中写入对象“ A”(我所有的数据都保存在“ A”中!),这是我的ClassDiagram: http ://askus.ir/ClassDiagram1.png

您可以使用boost :: serialization

您可以使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM