-2

私はCでシェルを実装しようとしています。これが問題です。押し上げると前に行くという歴史にやさしい機能を作りたいです。指図。

これで、history.txtなどの履歴を保存するファイルができました。コマンドを実行すると、そのコマンドがテキストに追加されます。そして、ある種のオフセットをファイルの最後の行にリセットします。

最後の行を見つけて、コマンドで1行ずつ上に移動する方法が必要です。そして、コマンドで1つずつ上に移動します。

今のところ、私が持っているアイデアは、-1か何かまでfgets()することですか?

どのように始めるべきかについてのアイデアはありますか?

編集:配列を使用した解決策を考えることができます。しかし、スペースをほとんどまたはまったく使用しない方法はありますか?

4

1 に答える 1

2

前のコマンドを実行する必要があるときに、ファイルから履歴をわざわざ読み取らないでください。前のコマンドをメモリに保存するだけです。終了時にディスクに書き込み、起動時にロードします。これが、実際のシェルの動作の一種です。

于 2013-03-12T04:51:12.330 に答える