我在Linux中使用C语言。如何显示进度指示器,让我知道程序(或程序的某些部分)何时完成?例如,它可能类似于“搜索... 67%”,百分比将继续增加,直到搜索部分结束。
谢谢。
答案 0 :(得分:3)
将一个'\r'
字符写入stdout,将光标返回到行的开头,这样就可以覆盖该行。例如:
for (i=0; i<100; i++) {
printf("\rSearching...%d%%", i);
fflush(stdout);
sleep(1);
}
答案 1 :(得分:2)
我相信你做的事情如下:
while (perc < 100) {
printf("Searching... %d%%\r", perc);
fflush(stdout);
//do work
}
fflush()
是避免线路缓冲所必需的。请注意,我使用的是\r
而不是\n
。