単純な C シェルを作成していて、ヒストリー機能を実装するように依頼されました。これを行う方法を知っている人はいますか? 履歴を印刷、保存、ロードできるはずです。
質問する
2116 次
1 に答える
2
array ofchar *
を使用して、コマンドをメモリに保存できます。
char *history_command[MAX_COMMAND];
history_command
ディスク内のファイルを使用して配列を保存します。
history_command
アレイが変更されるたびに、ファイルを削除history_command
して同じファイル名で保存します
start
サイズとともにインデックス (最初はゼロ)を保持しsize < MAX_COMMAND
ます。このようにして、配列は円形になります(@shahbazの提案)history[size++]
size == MAX_COMMAND
history[start++]
start %= MAX_COMMAND;
それ以外の場合は、そのような動作にリンクされたリストを使用できます。これは FIFO キューです。したがって、リンクされたリストで処理することは別の解決策になる可能性があります
于 2013-03-25T16:21:10.063 に答える