我正在创建一个简单的 C shell,并被要求实现一个历史功能,有人知道我会怎么做吗?它应该能够打印历史,保存并加载它。
问问题
2116 次
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 回答