【发布时间】:2011-09-29 07:04:14
【问题描述】:
我在 Linux 中使用 C。如何显示进度指示器,让我知道程序(或程序的一部分)何时完成?例如,它可能类似于“正在搜索...67%”,并且该百分比将不断增加,直到搜索部分结束。
谢谢。
【问题讨论】:
我在 Linux 中使用 C。如何显示进度指示器,让我知道程序(或程序的一部分)何时完成?例如,它可能类似于“正在搜索...67%”,并且该百分比将不断增加,直到搜索部分结束。
谢谢。
【问题讨论】:
将'\r' 字符写入标准输出以将光标返回到行首,这样您就可以覆盖该行。例如:
for (i=0; i<100; i++) {
printf("\rSearching...%d%%", i);
fflush(stdout);
sleep(1);
}
【讨论】:
我相信如果你这样做:
while (perc < 100) {
printf("Searching... %d%%\r", perc);
fflush(stdout);
//do work
}
fflush() 是避免行缓冲所必需的。请注意,我使用的是\r,而不是\n。
【讨论】: