显示进度指示器

我在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); }