-1

我正在创建一个简单的 C shell,并被要求实现一个历史功能,有人知道我会怎么做吗?它应该能够打印历史,保存并加载它。

4

1 回答 1

2

您可以使用数组char *将命令保存在内存中。

char *history_command[MAX_COMMAND];

并使用磁盘中的文件来保存history_command阵列。

每次history_command更改数组时都会删除文件并将其保存history_command在相同的文件名中

保留一个start索引(最初为零)和大小,所以如果size < MAX_COMMAND,你写到history[size++],如果size == MAX_COMMAND你写到history[start++](后面跟着start %= MAX_COMMAND;)。这样你的数组就变成了圆形(@shahbaz建议)

否则,您可以对此类行为使用链表。这是一个先进先出队列。所以用链表处理可能是另一种解决方案

于 2013-03-25T16:21:10.063 回答