2011-07-06 128 views
1

我在Linux中使用C语言。如何显示一个进度指示器,让我知道程序(或程序的某些部分)何时会完成?例如,它可能类似于“搜索...... 67%”,并且百分比将继续增加,直到搜索部分结束。显示进度指示器

谢谢。

回答

2

我相信,如果你这样做:

while (perc < 100) { 
    printf("Searching... %d%%\r", perc); 
    fflush(stdout); 
    //do work 
} 

fflush()有必要避免行缓冲。请注意,我正在使用\r而不是\n

3

将一个'\r'字符写入标准输出以将光标返回到行的开头,以便您可以覆盖该行。例如:

for (i=0; i<100; i++) { 
    printf("\rSearching...%d%%", i); 
    fflush(stdout); 
    sleep(1); 
} 
+0

我打你10秒钟,gj +1 –