私は端末のウィンドウに物を出力し、残りの部分ではなく、その一部だけをクリアしたい(前半や四半期など)。私はこれを行う方法がありますか?私はシステム( "クリア")を使用していたが、それはすべてをクリアする。私はncursesを使用したくないです。どんな助けもありがとうございます。C++ unixの端末画面の一部をクリアしますか?
答えて
一般的な解決方法が必要な場合は、端末に戻るか、特殊文字を使用して削除する部分を上書きして、空白で上書きして表示する必要があります。
端末では、thisポストに戻って調べることができます。キャリッジリターン(\ r)文字を使用する方法を示すいくつかの例が含まれています。
さらに、ansiエスケープシーケンスを使用して赤いテキストを取得する方法の例もあります。同じ方法で、ANSIエスケープシーケンスを使用して端末の特定の位置に書き込むことができます。hereを見てください。このリンクの「カーソル位置を強制」では、クリアしたいすべての位置に空白を書き込むことができます。
ただし、すべての端末がこれらの方法をサポートしているわけではなく、出力をファイルにストリーミングすると、それらの特殊文字が含まれることに注意してください。
あなたの端末の機能を理解していれば、単にそれらをstdoutにcoutで書き込むことができます。
どこから起動するのかわからない場合は、次のように試してみてください。プロンプトが表示されたら、man terminfo
と入力すると、端末の機能の一覧が表示されます。 tput
で試してみてください。
% tput el | od -t x1
0000000 1b 5b 4b
0000003
は「clr_eol」私の端末の問題にこれらのバイトを送信する行の末尾にクリアされます(「エル」):次に、あなたは印刷する必要があるコードのようなものであるかを把握。ターミナルでカーソルをどのように動かすか、行をクリアする方法を理解したら、完了です。
gnome-terminalを使用しているのを見て、これを実行すると、カーソルを自宅に移動し、行末まで消去し、下に移動し、行末まで消去し、下に移動して消去します行末。あなたは印刷する必要があるかを把握するには
:(COUTで)stdoutに
% (tput home ; tput el ; tput cud1 ; tput el ; tput cud1 ; tput el ; tput cud1 ; tput el ; tput cud1 ; tput el) | od -t x1
0000000 1b 5b 48 1b 5b 4b 0a 1b 5b 4b 0a 1b 5b 4b 0a 1b
0000020 5b 4b 0a 1b 5b 4b
0000026
をそれらのバイト(1B 5B 48など)を送信するには、C++からのトリックを行います。
ncursesを使用すると移植性が向上します。使用したくない場合は、最終的に再実装することができます。
カーソルから上へ、上/下から画面の上/下へそれぞれクリアするVT100エスケープシーケンスが2つあります。
- 1. 端末でMacOSの画面を回転
- 2. SWT内蔵のUnix端末
- 3. 画面の一部のみをクリアするには?
- 4. 端末の画面を再描画する
- 5. 2行のプロンプトで端末の画面をクリアし、両方の行を表示し続ける
- 6. 一部の端末でjava.lang.ClassCastExceptionが発生しました
- 7. キャンバスの画面の一部
- 8. Googleのセキュアシェルで端末の画面を消去する
- 9. 分割画面Emacsを切り替えるには、一方の画面がエディタで、もう一方の画面が端末エミュレータである?
- 10. C言語の画面をクリア
- 11. jquery端末の画面をどのように調整できますか?
- 12. ワインのプロセスを端末画面に表示するには?
- 13. mac端末の挿入画面を終了するには
- 14. golangの端末画面の中央にテキストを表示
- 15. 端末の画面の文字を読む
- 16. 端末の画面をクリアするが視覚的な間隔を維持する
- 17. Android搭載端末のプリント画面を撮っていますか?
- 18. シェル端末をクリアするコマンドはありますか?
- 19. 端末をクリアするAPIはありますか?
- 20. 画面の下端と画面の下端
- 21. 画面サイズがGL_MAX_TEXTURE_SIZE以上のAndroid搭載端末はありますか?
- 22. Android搭載端末に正方形の画面がありますか?
- 23. カバー画面の一部
- 24. 画面と携帯端末のiframeの幅
- 25. teeを使って全端末画面を記録する
- 26. イオン1:一部の端末でAPIリクエストが動作しない
- 27. 一部のAndroid搭載端末でImageSource.FromStream()が動作しない
- 28. 他のスレッドからプログラムでAndroid搭載端末の画面をオフにする
- 29. 端末内の端末
- 30. 1秒ごとに端末をクリアしますが、分を残します。
あなたの端末は何ですか? –
ubuntuを使っているだけなので、そこに何が入っていても – Sterling
何も動かない場合は、 "\ n"を100回印刷して変更する必要はありません。 –