0

raw モードで端末を使用するプログラムがあり、カーソルを移動したいと考えています。これのエスケープ シーケンスはどこにありますか?また、C プログラム内から端末に送信するにはどうすればよいですか?

これが私が現在持っているものです:

char code[4];
code[0] = 27;
code[1] = 91;
code[2] = '*';
code[3] = 'D';
write(1, code, 4);
4

3 に答える 3

3

画面全体を制御したい場合は、ncursesライブラリを参照してください。これは、フルスクリーン コンソール プログラム用のシンプルなライブラリです。

  • テキストの全画面配置
  • ファンクションキー、挿入/削除などを含むフルキーボードの使用
  • 色付け、テキストの強調表示などの属性の使用
于 2009-03-28T18:36:45.110 に答える
1

この情報は、ユーザーが使用している端末の種類によって異なるため、termcapを使用してこの情報を取得します。

于 2009-03-28T18:32:42.610 に答える
1

cursesまたはncursesライブラリをよく調べて、自分で作成するのではなく、どちらか一方を使用することを計画することをお勧めします。古いtermcapシステムではなく、端末記述のterminfoシステムを使用することを目指す必要があります。O'Reilly の本「Termcap and Terminfo」と私のお気に入りのタイトル (主に、プログラミング時に呪いに多くの時間を費やしているように見えるため) の「Progamming With Curses」も参照してください。(ただし、その本は古く、1986 年に出版されたものであり、同じ主題に関するより最近の本が他にもあり、おそらくより適切な選択となるでしょう。しかし、私は今でもこのタイトルが気に入っています。)

于 2009-03-28T18:37:17.513 に答える