1

私のCプログラムでは、カーソルがターミナルのどこにあるか知りたいです。たとえば、別のプログラムが私の前に何かを書いた可能性があり、端末の最後の列の前にどれだけのスペースが残っているか知りたい、またはいくつかの特別なシーケンス(色など:私はそれを書くことができた)に対する端末の反応を知ることができませんでしたただし、表示されていません)。

なにか提案を?

編集:ncursesのような複雑なソリューションを避ける方が良いでしょう(ncursesはカーソルがどこにあるかを直接知りません:その位置を計算します)。

編集2:私はそれを行う方法を見つけましたが、それは非グラフィック端末でのみ機能します:https ://www.linuxquestions.org/questions/programming-9/get-cursor-position-in-c-947833/

編集3:素晴らしいコードでうまく機能しますが、/ dev / vcsaNを使用します(編集2と同じ問題):http ://dell9.ma.utexas.edu/cgi-bin/man-cgi?vcs + 4

4

4 に答える 4

2

Ncurses は、端末ベースのテキスト インターフェイスを作成するための大きくて強力なライブラリです。

tputs端末の機能を操作するための単純な低レベルの汎用関数です。

どちらでもニーズに応えることができます。

于 2013-03-16T18:21:26.453 に答える
1

ncurses' を使用してみてくださいgetyx()

于 2013-03-16T17:28:17.600 に答える