0

RTMPDumpを使用してメディアストリームをダウンロードし、出力を制御可能なストリームにリダイレクトして、進行状況を解析し、それを使って何かを実行できるようにします。ただし、多くのコマンドラインツールと同様に、プログラムの進行状況は同じ行に表示され、プログラムの実行中に継続的に更新されます。こんな感じ?

44929.160 kB / 556.34 sec

私の質問は次のとおりです。これは、プログラムが同じ行を書き直すことができるようにする文字または行を削除する、ある種の特殊文字ですか?それとも何か他のことが起こっていますか?

4

2 に答える 2

2

簡単な方法は、各行の先頭にキャリッジ リターンを出力することです。

# Using bash as an example
for i in {0..10}; do
  printf "\r%s" $i
  sleep 1
done

ANSI エスケープ コードを使用してカーソルをより正確に配置することにより、より複雑な書式設定が可能です。

于 2012-09-16T15:09:55.637 に答える
1

同じ行を書きたい場合は、文字を削除して新しい文字で上書きする必要があります。backspaces文字を削除するのに適切な量を与えることでそれを行うことができます。もう 1 つのオプションは、コンソール全体をクリアしてから書き直すことです。これはSystem("cls");(Windows では C++) で実行できます。

于 2012-09-16T15:07:19.573 に答える