コンソール入力 (stdin、std::cin) を処理する場合、C++ には、ユーザーが次のように実行できるさまざまなアクションを管理するための移植可能な方法があります。
- バックスペース/削除
- リスト項目
- 左/右矢印キー (カーソルを前後に移動してテキストを挿入)
たとえば、Windows で std::cin を使用する場合 (例: std::cin >> s;)、矢印キーを使用できますが、Linux で同じコードを使用する場合、矢印キーは入力の一部と見なされます。 、カーソルは移動しません。
そのような機能を提供する curses や ncurses などのさまざまな TUI フレームワークを知っていますが、それらは必要以上のものです。
標準ライブラリに基づく単純なソリューション、またはより一般的な OS 間で移植可能な std::getline のような機能を備えた軽量のオープン ソース ライブラリさえあることを願っています。