繁体   English   中英

C数据结构到磁盘

[英]C data structure to disk

如何用C编程语言将内存中的树数据结构复制到磁盘?

您需要对其进行序列化,即,找出一种包括所有节点的序列化方法。 这些通常称为遍历方法

然后找出一种方法来存储每个节点的表示形式以及对其他节点的引用,以便可以再次将其全部装入。

表示引用的一种方法是隐式表示,就像XML一样嵌套。

这里的基本部分是:

  • C文件I / O例程是fopen ,fwrite,fprintf等。
  • 将指针复制到磁盘是没有用的,因为下次您运行所有这些指针值时,都会被废弃。 因此,您将需要一些替代指针的方法,这些指针仍会以某种方式相互引用磁盘记录。 一种明智的选择是文件索引(CI / O例程使用的那种索引,例如fseekftell )。

那应该是完成工作所需的所有信息。

或者,如果您使用基于数组的树(使用数组索引而不是指针,或者使用其在数组中的位置暗示的链接),则可以保存并加载整个shebang,而无需任何其他逻辑。

提出一个序列化(和反序列化)功能。 然后运行它,并将输出发送到文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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