10

Linuxでは、stdoutコマンドラインで、出力などの特定の領域を更新したいapt-get

54% [Waiting for headers] [Waiting for headers]        211 kB/s 3s

パーセンテージkB/sは毎秒更新されます。

使用するprintfと、複数の行が出力されます。私は次のことを試しましたprintf

printf("\e[1;1H\e[2J");

しかし、それはすべての出力をきれいにします。

私の質問は、特定の領域を更新し、他の領域を安定させる方法ですか?

4

2 に答える 2

9

キャリッジ リターンを使用します。カーソルが行の先頭に戻り、そこから前の行にあったものを上書きできます。例えば:

printf("Hello, world!\rX");

次のように表示されます。

Xello, world!

stdout表示したい場合は、頻繁にフラッシュしてください。

fflush(stdout);
于 2013-03-30T02:09:28.447 に答える