linux下编写一个进度条
拿C语言实现一个进度条
代码如下:
1 #include <unistd.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5
6 int main()
7 {
8 int i = 0;
9 char bar[102];
10 memset(bar, 0 ,sizeof(bar));
11 const char *lable="|/-\\";
12 while(i <= 100 ){
13 printf("[%-100s][%d%%][%c]\r", bar, i, lable[i%4]);
14 fflush(stdout);
15 bar[i++] = '#';
16 usleep(100000);
17 }
18 printf("\n");
19 return 0;
20 }
结果如下:
注: 是一个渐变的过程,在代码中使用\r,将每一次输出结果后,就将光标移动到最开始,再覆盖上一次输出结果,达到进度条的表现形式。