2012-01-18 10 views
5

私はちょうど、top(1)のようなコンソールアプリケーションが複数の行を上書きする方法を知りました。私はC++やCのためにそれをする方法を知りたがっています。私は1行を上書きする方法を知っていますが、複数の行に対してこれを行う方法を知りたがっています。トップのようなコンソールの上書き

+2

プラットフォームによって異なります。どのプラットフォームにいますか? – Jon

+0

Linuxはおそらく私がこれをやりたいと思っているところです – csteifel

答えて

3

端末のエスケープシーケンスを使用して、画面上でカーソルを移動します。直接的にインデックスを付けることができる文字の配列として画面を扱うために、ダイレクトフレームバッファアクセスを使用するものもあります。

curses(またはncurses)ライブラリは、優れた抽象化レイヤです。

+0

ちょっとメモがありますが、cursesは実際にはWindowsには存在しません:[Windowsではncursesを利用できます](http://stackoverflow.com/q/138153/) 16487) –

+0

@ C.Ross:その質問は、curses APIをサポートする置換端末エミュレータについて質問します。 'curses'はコンソールモードのアプリケーションでは確かに利用可能です。 –

+0

pdcursesは実際には非常に使いやすいですが、Windowsのpdcursesに基本的なASCII文字を使ってncursesアプリケーションを移植することに問題はありませんでした。 UTF-8互換のncursesを使用している場合は、おそらくもっと大きな問題に遭遇するでしょう。 –

2

これは問題に直接対処できないかもしれませんが、この種のことは端末に依存しており、一般的にはcursesの実装で行われます(ncursesが最も広く使われています)。

関連する問題