[英]How to update values in printed output only in C?
我要打印一行:
for(i=0;i<n;i++)
printf("this is iteration number %d\n", i);
由此,我將得到如下輸出:
這是迭代次數0
這是迭代編號1
...
但我希望只打印一行並且值會更改。 那就是我要覆蓋每一行。
現在,如果我打印另一行(我們稱其為line2),但是我需要覆蓋前一行而不影響line2。
不是最完善的解決方案,但是您可以使用“回車” \\r
和沖洗stdout
如下所示:
#include <stdio.h>
#include <unistd.h>
int main()
{
for (int i = 0; i < 10; i++) {
printf("\rValue of i is: %d", i);
fflush(stdout);
sleep(1);
}
}
您可以使用回車符 \\r
將光標返回到行的開頭,然后在下一次迭代中將其覆蓋:
int n = 100;
for (int i = 0; i < n; i++) {
printf("\rThis is iteration number %d", i);
fflush(stdout);
sleep(1);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.