5

重複の可能性:
C++のコマンドラインから印刷された文字を削除する方法

私の質問は、C++ でコンソール ウィンドウを実行中にテキストを変更するにはどうすればよいかということです。例えば。

これを表示するとしたら。

cout<<"0%";
cout<<"25%";
cout<<50%";
cout<<75%";
cout<<"100%";

5つの異なる単語になります。新しい単語を作成せずに 0% を表示してから 25% を表示したい場合、IE は現在の 0% を 25% に置き換えます。これは可能ですか?前もって感謝します。

4

1 に答える 1

16

を使用しcout << number << '\r' << flushます。

'\r'「キャリッジリターン」(行頭に移動)、「印刷したものが出力に到達することを確認する」という意味flushです。通常、出力は行末が指定されている場合にのみ印刷されます。

編集:カウントダウンなど、出力の長さが変化する状況がある場合は、余分な出力をカバーするのに十分なスペースで出力を埋める必要があります。たとえば、cout << setw(3) << number ...またはcout << number << " " ...動作します。

ただし、ラインがターミナ/コマンドウィンドウの幅より長くなると、乱雑になる可能性があることに注意してください。

于 2012-12-26T16:17:30.323 に答える