第一步:创建一个名为process_bar的文件夹
第二步:
输入:vim makefile
在makefile里输入以下代码:
process_bar:process_bar.o
gcc process_bar.o -o process_bar//前面是一个水平制表符的距离,即输入一个Tab
.PHONY:clean
clean://一定要顶头写
rm process_bar.i process_bar.s process_bar.o process//前面是一个水平制表符的距离,即输入一个Tab
如下图:
在process.c 里输入下面的代码
#include
#include
int main()
{
char buf[100] = { 0 };
size_t i = 0;
const char*label = "-/\\|";
for (; i <= 50; ++i)
{
buf[i] = '*';
printf("[%lu%%][%c][%-50s]\r", i * 2, label[i % 4], buf);
fflush(stdout);//刷新缓冲区
usleep(100000);//单位是毫秒
//sleep(1)单位是秒
}
printf("\n");
return 0;
}
第四步:编译代码并输出结果
输入1: gcc process.c
//这条命令执行完之后,会生成一个可执行文件:./a.out
输入2: ./a.out
ls:是查看有没有生成可执行文件--->a.out
运行结果:
linux下如何使字体变色?
在linux下定义字体变色是有他自己的格式的
格式:
printf("\e[X;Ym%s\e[0m","要输出的字符串);
\e[X;Ym :定义你要输出颜色的格式,打开某种属性
X--->是背景色,就是需要输出的字体的背景颜色,常用一个编号表示
Y--->是字体颜色,常用一个编号表示
常见的背景色编号:
40--->黑色
41--->深红色
42--->绿色
43--->黄色
44--->蓝色
45--->紫色
46--->深绿色
常见的字体颜色编号:
31--->红色
32--->绿色
33--->黄色
34--->蓝色
35--->紫色
36--->深绿色
37--->白色
\e[0m
是结束标志,结束某种样式。表示此种颜色标记的字体结束,如果没有这个结束标志,后面的字体都会是这个颜色
注意:
\e与\033功能一样,即就是写\e还是写\033都一样
例如:\e[41;32m%s\e[0m 与 \033[41;32m%s\e[0m 功能相同
例如:实现字体变色
代码:
#include
int main()
{
printf("\e[32m%s\e[0m\n","hello world");//没有加背景色
printf("\e[45;34m%s\e[0m\n","hello world");//加了背景色
return 0;
}
运行结果:
第一步:创建一个名为process_bar的文件夹
第二步:
输入:vim makefile
在makefile里输入以下代码:
process_bar:process_bar.o
gcc process_bar.o -o process_bar//前面是一个水平制表符的距离,即输入一个Tab
.PHONY:clean
clean://一定要顶头写
rm process_bar.i process_bar.s process_bar.o process//前面是一个水平制表符的距离,即输入一个Tab
如下图:
第三步:
在命令行输入:vim process_bar.c
在process_bar.c里输入以下代码:
#include
#include
int main()
{
char buf[100] = { 0 };
const char*label = "-\\/|";//模拟转圈
size_t i = 0;
for (; i <= 50; ++i)
{
buf[i] = '*';
if (i <= 20)
printf("\e[32m[%lu%%]\e[0m\e[33m[%c]\e[0m\e[34m[%-50s]\e[0m\r", i * 2, label[i % 4], buf);
/* \e[32m[%lu%%]\e[0m:是i*2的格式,%lu是无符号长整型整数,%%:可以使得输出的整数带上% */
/* \e[33m[%c]\e[0m:是label[i%4]的格式 */
/* \e[34m[%-50s]\e[0m:是buf的格式,buf是一个字符串,-50是输出的总长度是50个空格,如果没有把此空格填写完,会在右边留出多余的空间 */
else
printf("\e[32m[%lu%%]\e[0m\e[33m[%c]\e[0m\e[35m[%-50s]\e[0m\r", i * 2, label[i % 4], buf);
// \r是回到行首
fflush(stdout);
usleep(100000);
}
printf("\n");
return 0;
}
第四步:编译代码并输出结果
编译代码:
输入1: gcc process_bar.c
//这条命令执行完之后,会生成一个可执行文件:./a.out
输入2: ./a.out
运行结果:
颜色变化:
先是蓝色
再是紫色
如果想要查看动态的结果,可自行调试哦!(颜色变化:蓝–>紫)