我正在創建一個簡單的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