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()会将所有打开的文件数据更新.
#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()会将所有打开的文件数据更新.
相关文章推荐
- Linux C 实现mycp 可以显示文件拷贝进度
- linux printf设置颜色与输出控制,利用控制码,实现固定位置输出百分比进度
- Linux - 实现简易进度条
- linux下实现进度条小程序
- 【Linux】简单实现进度条
- 实现Linux下带进度显示的cp命令 - xcp
- Linux环境下模拟实现进度条
- 实现Linux下带进度显示的cp命令 - xcp
- Linux下实现进度条
- linux环境下使用vim实现简易进度条代码
- Linux环境使用make与Makefile实现进度条
- 【Linux】简单实现进度条
- Linux下实现进度条小程序
- Linux下实现简单进度条
- Linux下vim上编辑实现进度条
- linux+QT实现文件夹拷贝并附带进度功能
- Linux 中实现进度条
- Linux下模拟实现进度条
- 在Linux下实现简易进度条
- linux :vim 实现命令行下输出进度条