【发布时间】:2013-06-16 16:33:32
【问题描述】:
我在 unix.stackexchange 上阅读了有关如何在文件中添加或删除行而不需要创建临时文件的各种问题/答案。
https://unix.stackexchange.com/questions/11067/is-there-a-way-to-modify-a-file-in-place?lq=1
似乎所有这些答案都需要至少阅读到文件末尾,如果输入是一个大文件,这可能会很耗时。有没有解决的办法?我希望文件系统可以像链表一样实现......所以应该有一种方法可以达到所需的“行”,然后只需添加东西(链表中的节点)。我该怎么做?
我这样想对吗?还是我错过了什么?
Ps:我需要在 'C' 中完成此操作,并且不能使用任何 shell 命令。
【问题讨论】:
-
文件不是作为链表实现的,所以没有一种简单的方法可以将数据插入到文件的中间。请参阅SO 10467711 了解处理将数据插入文件中间的代码,但请注意,它最终会将插入点后面的所有数据复制到正确的新位置。
标签: linux filesystems windows c