【发布时间】:2013-03-12 04:47:43
【问题描述】:
我正在尝试在 C 中实现一个 shell。事情是这样的。我想做一个历史友好的功能,如果我按下它就会转到上一个。命令。
现在我有一个存储历史记录的文件,比如 history.txt。当我执行命令时,我会将命令附加到文本中。并将某种偏移量重置为文件的最后一行。
我需要一种方法来找到最后一行并根据命令逐行上移。并根据命令一一上移。
现在,我的一个想法是 fgets() 直到 -1 还是什么?
关于我应该如何开始的任何想法?
edit:我可以想到一个使用数组的解决方案。但是有没有一种方法可以让我几乎不用空间?
【问题讨论】:
-
将历史文件读入内存并拥有一个指向每个条目的指针数组?
-
我认为双循环链表会很好,但内存成本可能很高。
标签: c shell file-io operating-system