拿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,将每一次輸出結果後,就将光标移動到最開始,再覆寫上一次輸出結果,達到進度條的表現形式。