我已经知道链表内的数据如何保存到文件中去了,现在有几个东西有点乱,请哪位达人给教下。
先说一下我自己的办法。
首先要读取一个用链表存储成的文件,先建立一个与之相对应的结构体,然后以"r"模式下打开文件,一个一个把结构体读出来,再用malloc分配至堆中去,直至EOF.然后对堆中的数据进行相应的修改操作.全部修改完后,再将堆中的数据一个一个存回文件中去?然后我有这么几个问题.
1、链表存到文件中去后,再取出来是不是要再次对各个元素进行链表的关联(就是下一个元素地址赋予前一个元素中的地址变量中)?有没有更简单的方法让其自动恢复原先的链表关系?
2、编辑前,是否需要将整个文件流从文件中都读取至堆里去,连立成一个链表?如果文件很大,大过内存怎么办?
3、如果整个文件都读出至堆中,并关联成了链表,那么修改后用fwrite()再次保存至文件中时,是不是把原来的记录都覆盖了还是在后面追求啊?
1、我是开打文件来得到链表数据的,就是之前已经中止了代码运行的,后面再进行编辑的。
2、一般物理内存也有个极限啊。。