5

「cout」で印刷されるテキストを変更することはできますか? パーセンテージごとに新しい行を作成することなく、何かの現在のパーセンテージを表示したいと思います。これは可能ですか?

4

3 に答える 3

13

これは私のために働く:

std::cout << "1111";
std::cout << "\r";
std::cout << "2222";

\rキャリッジリターン記号です。「カーソル」を行頭に戻します。

または、キャラクターを使用することもできます\b。これがバックスペースです。印刷すると、1 文字戻ります。

于 2010-12-08T14:38:16.443 に答える
2

一般的には不可能です。(からの出力が直接プリンタに供給されると想像してくださいcout。最後の行を「印刷解除」するようにどのように指示しますか?)coutは出力ストリームであり、出力が送信されるメディアや、その媒体。特定のトリックは、場合によっては目的を達成できますが、他の場合は恐ろしく失敗します。プレーンテキストのストレート出力よりも動的なものが必要な場合は、おそらくcout使用する適切なツールではありません.

于 2010-12-08T15:48:06.413 に答える
0

cout から絶対に得られないことの 1 つは、端末の行の長さです。これは変更できるため、長すぎる行を使用する可能性があり、('\r' を使用すると) 更新ごとに新しい行が出力されます。特定のプラットフォームを使用する場合は、プラットフォーム固有の関数を使用して端末のサイズを取得します (ファイルにリダイレクトされるなど、端末にまったく接続されていない可能性があることに注意してください)。

于 2010-12-08T20:02:32.097 に答える