3
私はCプログラミングに新しいですし、私はこのように、例えば、カウントダウンが1行に場所を取ることを望む:n
はその一部だけだろう書き換え情報
Time left: n
更新された行。
私はコマンドラインプログラミングについて話しています。私はカウントダウンを行う方法を知っている、私はちょうど1行にそれを維持し、動的にその行を更新するのに役立つ必要があります。
私はCプログラミングに新しいですし、私はこのように、例えば、カウントダウンが1行に場所を取ることを望む:n
はその一部だけだろう書き換え情報
Time left: n
更新された行。
私はコマンドラインプログラミングについて話しています。私はカウントダウンを行う方法を知っている、私はちょうど1行にそれを維持し、動的にその行を更新するのに役立つ必要があります。
\r
を使用すると、カーソルを行の先頭に戻して行を上書きすることができます。だから、:デフォルトでは、その出力バッファがいっぱいになったときstdout
のみ自体をフラッシュし、または\n
が出力されますので、
for (int i = 10; i > 0; i--) {
printf("\rCountdown: %d ", i);
fflush(stdout);
sleep(1);
}
printf(" done.\n");
fflush(stdout);
が必要です。
純粋なANSI Cでは、どのOSを使用しているのですか?出力の配置を制御できるいくつかのライブラリ/拡張機能が必要です(つまり、ncursesが必要なunix/linux) –
@AdrianCornish: cursesを使用する必要があります。 –
@GregHewgill興味深い解決策:-)はほとんどの実装でおそらく動作します。 –