今天是在Linux下实现一个建议进度条,进度条是给一个空的字符串不断的写入字符来表明完成的进度,每隔10^-3时间更新一次输出缓冲区,使进度条不断地刷新。
1 #include <stdio.h>
2 #include <unistd.h>
3 #include <string.h>
4 int main()
5 {
6 char arr[102];
7 int i = 0;
8 char* flag = "|/-\\\0";
9 memset(arr,0,102*sizeof(char));
10 for(; i <= 100; i++)
11 {
12 arr[i] = '=';
13 printf("[%-100s][%d\%] %c\r",arr, i, flag[i%4]);
14 usleep(100000);
15 fflush(stdout);
16 }
17 printf("\n");
18 return 0;
19 }
要注意的一点就是在Linux系统下回车与换行的区别
回车:\r
换行:\n
在Linux系统中每行结尾只有’\r’,没有’\n’,所以要特别注意。
在这里我用了一个Makefile文件,可以比较方便。