15

GNU readline の代替を探しています。多くの機能が付属していますが、以下で説明するように、私にとって役立つのはそのうちのいくつかだけです-

対話型のコマンド プロンプト アプリケーションに取り組んでいます (プロンプトを表示し、実行する次のユーザー コマンドを受け入れます)。プロンプトの編集および履歴機能を実装したいと考えています。したがって、ユーザーが UP キーを押すと、最後の実行コマンドが表示されます。また、タイプミスやコマンド スイッチなどを編集する必要がある場合、ユーザーは矢印キーを使用してナビゲートできる必要があります。

Windows では、コマンド プロンプトで入力を使用fgetsまたは取得する場合、既に履歴が保持されており、編集することもできます。scanf

Linux で利用できる適切なオプションはありますか?

4

2 に答える 2

17

これは立派な目標だと思います:-)

おそらく、 Linenoiselibedit/editline、またはteclaが法案に適合するでしょうか?

それらの中でおそらく libedit が最も広く使用されています。たとえば、postgreqsql クライアント シェルや Kerberos 用のさまざまな BSD ユーティリティですntp(ただし、アップストリーム ソースの場合、Linux で libreadline が広く使用されているため、コンパイル用のデフォルトの行編集ライブラリではない可能性があります)。libedit/editline にはわずかに異なるバージョンがいくつかありますが、これらのリファレンスのいくつかを読んでさらに調査を行うとわかります。

乾杯、そしてあなたのプロジェクトを頑張ってください。

于 2013-08-01T03:04:08.063 に答える