天天看點

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 } 
           

結果如下:

linux下編寫一個進度條
linux下編寫一個進度條
linux下編寫一個進度條
linux下編寫一個進度條
linux下編寫一個進度條

注: 是一個漸變的過程,在代碼中使用\r,将每一次輸出結果後,就将光标移動到最開始,再覆寫上一次輸出結果,達到進度條的表現形式。

繼續閱讀