1

プログラムをインストールすると、コンソールウィンドウにプログレスバー(またはその他の動的に変化するテキスト)が表示されることがあります。表示され、同じ文字列の行で変化します。または他の機能を使用するとprintf、次のテキストを書き込みますが、コンソールウィンドウで既存のテキストを変更できません。どうすればCを介してそれを行うことができますか?

4

2 に答える 2

3

この種の効果の最も簡単な方法は\r、前の行を上書きできるキャレットリターン文字を使用することです。


コンソールのバッファに直接アクセスしたい場合(つまり、行ごとではなく特定のX / Y位置に書き込みたい場合)、おそらくのようなヘルパーライブラリを探していますpdcurses

于 2012-12-05T17:24:17.410 に答える
2

printfを使い続けて、テキストの「変更」を簡単に実行したい場合は\r、Linuxのキャリッジリターンを使用してください。ただし、改行を意味するため、MACでは機能しません。

これを行う場合は、ioctlを使用してキャレットを非表示にし、ちらつきや醜い効果を防ぐことをお勧めします。

画面上のテキストをより適切に操作する方法が必要な場合は、ncursesを確認できます。

于 2012-12-05T17:26:02.917 に答える