コマンドラインで進行状況を表示するプログラムを作成する場合、進行状況が大きくなると増加 (または減少) する 1 行を作成するにはどうすればよいですか?
これを取得しないように:
Progress: 1%
Progress: 2%
Progress: 3%
Progress: 4%
Progress: 5%
Progress: 6%
でもこれは:
Progress: PROGRESS%
したがって、操作全体で1行
誰かがこれがどのように機能するかを説明できますか?
コマンドラインで進行状況を表示するプログラムを作成する場合、進行状況が大きくなると増加 (または減少) する 1 行を作成するにはどうすればよいですか?
これを取得しないように:
Progress: 1%
Progress: 2%
Progress: 3%
Progress: 4%
Progress: 5%
Progress: 6%
でもこれは:
Progress: PROGRESS%
したがって、操作全体で1行
誰かがこれがどのように機能するかを説明できますか?
一般的な方法は、改行 ( ) 文字で終わらない行を書くことです\n
が、代わりにキャリッジ リターン ( \r
) を書くことで、上書きできるようにします。ほとんどのプラットフォームとの互換性のために、行が表示されないという苦痛で、標準出力を行った後に手動でフラッシュする必要があります。
C# では Console.SetWindowPosition を使用します
C++ (Windows だと思います) では、SetConsoleCursorPosition を使用します。
(Windows C++ 以外の場合は、ncurses ライブラリを使用します)。
あなたは次のようにしてみてください
Console.Write("\rProgress-{0}% ", progvalue);