我正在创建一个简单的C shell,并且被要求实现历史记录功能,有谁知道我该怎么做?它应该能够打印历史记录,保存并加载它。在C shell中实现历史记录
-1
A
回答
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建议)
否则你可以使用链表作为这样的行为。这是一个FIFO队列。所以用链表处理可能是另一种解决方案
相关问题
- 1. 在简单的UNIX Shell中实现历史记录的问题
- 2. 在ruby中实现shell历史
- 3. 如何实现数据历史记录?
- 4. 如何实现历史记录功能?
- 5. 清除Mongo Shell中的历史记录
- 6. 链接列表实现将命令历史记录存储在我的shell中
- 7. UNIX Shell和历史记录功能
- 8. 如何在TCSH Shell中注销时清除SHELL历史记录?
- 9. 在Winforms中创建历史记录C++
- 10. GWT历史记录:历史记号
- 11. 自己的C Shell中的历史记录
- 12. 如何在python中启用Django shell中的历史记录
- 13. 如何在SQL Server中的历史记录表中存储历史记录
- 14. 在Emacs中自动保存shell历史记录
- 15. 我可以从Perl pdl2 shell(如bash中的历史记录)中检索命令的完整历史记录吗?
- 16. 实现历史表
- 17. 贝宝Sandbox历史记录重定向到REAL历史记录
- 18. LDAP登录历史记录
- 19. 文件历史记录8
- 20. 将shell脚本中的命令添加到历史记录中?
- 21. Outlook对话历史记录
- 22. 删除按键历史记录(GetKeyState)C++
- 23. 无法使用History.js实现历史记录
- 24. 如何实现数据库对象的“历史记录”?
- 25. 将BBEdit搜索历史记录提取到shell脚本中
- 26. VSO git文件历史中的“简单历史记录(默认)”和“完整历史记录”有什么区别?
- 27. 在Chrome中访问历史记录html?
- 28. 在MySql中查询的历史记录
- 29. 在Firefox中导出Awesomebar历史记录
- 30. 在jQuery Mobile中操作历史记录
请参阅http://whathaveyoutried.com和FAQ http://stackoverflow.com/faq – 2013-03-25 16:19:17
您的shell必须处理它读取的每条命令。部分处理过程是将每条命令记录到内部数据结构中。添加shell命令将该数据结构写入磁盘并从文件加载数据结构,然后就完成了。 – chepner 2013-03-25 16:20:06
建立一个队列类型的结构并添加到每个操作的队列的末尾? – 75inchpianist 2013-03-25 16:20:34