【发布时间】:2011-08-18 16:44:47
【问题描述】:
基本上,我想在对象到来时对其进行序列化,就像日志文件一样,只是我想稍后再对它们进行反序列化。这意味着我最初没有所有对象。
从以前的答案看来,如果一个人保持打开同一个档案,人们可以继续向档案中添加越来越多的对象。
但我将如何提取它们?我是否需要提前查看是否在每次提取之前达到了 eof ?我是否应该在保存例程中放置一个换行符,以便以后可以逐行读取输入(这可能仅适用于二进制存档(可能是文本),因为 xml 使用换行符,如果二进制文件可能使用偶尔换行)?如果到达文件末尾,也许 >> 操作会引发异常,我可以将它包装在一个无限循环中,并在其周围使用 try catch?
如果我想为不同种类的对象这样做,我该怎么做?也许有一个所有对象的枚举并在之前序列化枚举,并且在反序列化时有一个基于枚举的开关?
谢谢
【问题讨论】:
标签: c++ serialization boost