您的位置:首页 > 运维架构 > Linux

linux实现进度条

2017-02-16 19:30 162 查看
linux实现进度条代码如下:

#include<stdio.h>

  2 #include<unistd.h>

  3 int main()

  4 {

  5 char bar[102];

  6 bar[0] = '\0';

  7 const char *lable = "-\\|/";

  8 int i = 0;

  9 while(i <= 100)

 10 {

 11 printf("[%-101s][%d%%][%c]\r",bar,i,lable[i%4]);

 12 fflush(stdout);

 13 bar[i++] = '#';

 14 bar[i] = '\0';

 15 usleep(10000);

 16 }

 17 return 0;
 18 }

截图:


上述代码采用  makefile



基本原理:

(1)进度条原理:创建一个范围为0到100的进度条.我会把进度条初始为0,然后,当我载入一个资源的时候我会用单位长度来让进度条前进一个步长.当进度条前进时,它都会重画自身 从而实现我们想要的结果。

(2)回车和换行的区别

回车:回车 \r 本义是光标重新回到本行开头,r的英文return。

换行:换行 \n 本义是光标往下一行(不一定到下一行行首),n的英文newline。

(3)缓冲区:fflush()会强迫将缓冲区内的数据写回参数stream 指定的文件中. 如果参数stream 为NULL,fflush()会将所有打开的文件数据更新.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: