【问题标题】:C data structure to diskC 数据结构到磁盘
【发布时间】:2011-04-12 16:49:02
【问题描述】:

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

【问题讨论】:

    标签: c memory data-structures tree disk


    【解决方案1】:

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

    然后找出一种方法来存储每个节点的表示,以及对其他节点的引用,以便可以再次加载它。

    一种表示引用的方式是隐式的,通过像 XML 那样嵌套。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        这里的基本部分是:

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

        这应该是您完成这项工作所需的所有信息。

        或者,如果您使用基于数组的树(使用数组索引而不是指针,或者使用它们在数组中的位置隐含的链接),您可以只保存和加载整个 shebang,而无需任何进一步的逻辑。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-19
          • 1970-01-01
          • 1970-01-01
          • 2015-10-13
          • 2017-03-30
          • 2011-01-09
          • 2013-12-03
          • 2019-06-19
          相关资源
          最近更新 更多