簡體   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