2011-10-13 136 views
0

我有一种情况,我正在解析C++中的xml文件(使用libxml)和提取的信息,我正在创建一个数据结构&根据进一步修改DS从解析的文件中提取信息。现在我需要将D.S保存在辅助存储器中,并且我想稍后从内存中取回D.S,以便我可以继续进一步工作,而无需再次创建D.S。有人可以帮我解决这个问题吗?存储和检索数据结构

+0

当然,只需复制:'DS * backup_ds = new DS(primary_ds);'。 –

+0

如果辅助内存是磁盘,请查看以下内容:http://answers.yahoo.com/question/index?qid=20080514040736AAkgqNw –

+0

将数据结构刷新到磁盘时,需要对其进行序列化。你确定要存储二进制blob吗?问题在于,当您更新代码以修改数据结构时,无法回读之前保存的内容。所以向后兼容性是一个问题。你为什么坚持不要创造d.s.再来一次? –

回答

0

我假设'二级存储器'是一个硬盘驱动器或什么的。在这种情况下,使用fwrite和fread,或者在C++过载中使用<和<,如果你愿意的话。你如何做到这一点取决于你的数据结构,如果它的成员是指针,那么事情会变得更加复杂。

你的问题没有足够的信息来真正帮助你。

+0

非常感谢你的回复。好的,我提取所有组件名称,类型,地址,数据,父级,层次结构等列表(从xml)并创建数据结构,以便能够连接和实例化组件,并对它们进行分类根据我上面提到的领域的信息。现在我需要将所有信息转储到一个文件(在硬盘驱动器中)并稍后检索它们,以便当我解析另一个xml文件时,代码应该取回现有的数据结构并修改相同的.. – sundar