C链表 - 写指向文件

时间:2017-01-26 00:05:32

标签: c file pointers struct

我有以下结构:

typedef struct transgressor
{
    int priority;
    Record record;
    struct transgressor *next;
    int position;
    int hasNext;
}Transgressor;

我需要把它写到文件中。问题在于struct transgressor *next部分,因为它是指针。我如何取消引用它,或组织结构不同,所以我可以写它并在从文件中读取后?

2 个答案:

答案 0 :(得分:0)

将指针保存到文件没有意义。由于结构中已经有position变量,因此可以使用它来帮助您在内存中重新创建列表,而不是从文件加载列表。

答案 1 :(得分:0)

在将任何内容保存到文件之前,应指定(理想情况下为书面文档)数据在字节级别存储在文件中的格式。如果有一个方便的话,请使用现有的文件格式,否则你必须设计并指定自己的格式。

在字节级别确定数据格式后,编写代码以将结构转换为该格式或从该格式转换。磁盘的格式是什么。从磁盘中读取该格式。

没有捷径不会导致痛苦和痛苦。