首先创建一个makefile文件,其文件内容为
1 test:test.c
2 gcc $^ -o $@
$^:表示所有依赖对象; $@:表示目标对象。(补充$<表示第一个依赖对象)
然后创建test.c文件,文件内容为
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string.h>
4
5
6 int main()
7 {
8 int i = 0;
9 char bar[101];
10 for(i = 0;i<101;i++)
11 {
12 bar[i] = '\0';
13 printf("\033[1;31;44m%s\033[0m [%d%%]\r",bar,i);
14 fflush(stdout);
15 bar[i] = ' ';
16 usleep(100000);
17 }
18 printf("\n");
19 return 0;
20 }
\033[1;31;44m表示的是将前景色设置为红色,背景色设置为蓝色。(具体颜色数字代码就不详细介绍了)
\033[0m作用是关闭所有属性,因为如果不关闭,后面的屏幕和文字都会变成你设置的颜色,但是如果执行ls指令会恢复原来的样子,因为ls中有\033[0m代码来关闭所有属性。
usleep是按照毫秒计算的。
这样程序运行之后就可以看到一个加载的蓝色进度条,由于bar赋值为空格,所以前景就没有红色的文字了。