最近、プログレス バー クラスを C++ で実装しました。のようなものを書きました
cout << "\r" << percentage_done << "%" << flush;
現在、出力をlessにパイプするいくつかのプログラムを実行しています。問題は、あまり多くのタイプの行が表示されないことです
^M1%^M2%...
したがって、「\r」は正しく解釈されません。less が最後の 100% 行のみを表示するようにこれをパイプすることは可能ですか、それともプログレス バーを完全に無効にするためにプログラムにスイッチを追加する必要がありますか?
出力をファイルに直接パイプするときにも同じ問題が発生するため、出力ファイルが不必要に多くのディスク領域を占有します。