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