-1

単純な C シェルを作成していて、ヒストリー機能を実装するように依頼されました。これを行う方法を知っている人はいますか? 履歴を印刷、保存、ロードできるはずです。

4

1 に答える 1

2

array ofchar *を使用して、コマンドをメモリに保存できます。

char *history_command[MAX_COMMAND];

history_commandディスク内のファイルを使用して配列を保存します。

history_commandアレイが変更されるたびに、ファイルを削除history_commandして同じファイル名で保存します

startサイズとともにインデックス (最初はゼロ)を保持しsize < MAX_COMMANDます。このようにして、配列は円形になります(@shahbazの提案)history[size++]size == MAX_COMMANDhistory[start++]start %= MAX_COMMAND;

それ以外の場合は、そのような動作にリンクされたリストを使用できます。これは FIFO キューです。したがって、リンクされたリストで処理することは別の解決策になる可能性があります

于 2013-03-25T16:21:10.063 に答える