我正在创建一个简单的C shell,并被要求实现历史功能,有人知道我会怎么做吗?它应该能够打印历史,保存和加载它。
您可以使用char *
数组将您的命令保存在内存中。
char *history_command[MAX_COMMAND];
和使用file in disk保存history_command
array。
每次更改history_command
数组时,删除文件并将history_command
保存在相同的文件名
保持start
索引(最初为零)和大小,因此如果size < MAX_COMMAND
,则写入history[size++]
,如果size == MAX_COMMAND
,则写入history[start++]
(然后是start %= MAX_COMMAND;
)。这样你的数组就变成了圆形(@shahbaz suggestion)
否则,您可以使用链表来执行此类行为。这是一个FIFO队列。所以用链表处理可能是另一种解决方案