模拟实现Linux下载软件或其他文件等进度条,样例如下:
代码描述及注释
#include"proc.h"
2
3 void proc()
4 {
5 char arr[MAX_SIZE];
6 char tag[4]={'|','/','-','\\'};
7 //初始化为字符串结束标志符'\0'
8 memset(arr,'\0',sizeof(arr));
9 //打印进度条,%r是回车,每次让进度条的位置都回到原来的位置
10 printf("[%-100s][%d%%][%c]\r",arr,0,tag[0]);
11 int i = 0;
12 for(i = 0;i < 100;i++)
13 {
14 arr[i] = '#';//每一次循环,数组中都会多一个#
15 printf("[%-100s][%d%%][%c]\r",arr,i+1,tag[i%4]);//随着数组中#的增多,打印数组,进度条每次也就会增多
16 fflush(stdout);//刷新缓冲区,将标准输出的内容显示到显示器
17 usleep(500000);//每.0.5秒循环依次
18 }
19 printf("\n");
20 }