Linux彩色进度条和普通进度条
2017-12-08 13:10
176 查看
普通进度条
第一步:创建一个名为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.c
在process.c 里输入下面的代码
#include<stdio.h> #include<unistd.h> 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<stdio.h> 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<stdio.h> #include<unistd.h> 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
运行结果:
颜色变化:
先是蓝色
再是紫色
如果想要查看动态的结果,可自行调试哦!(颜色变化:蓝–>紫)
相关文章推荐
- Linux下实现一个简单进度条和shell脚本实现彩色进度条
- Linux-Linux下简易彩色进度条实现
- C语言实现彩色进度条---linux环境下编译
- Linux简易彩色进度条的实例代码
- Linux下实现彩色进度条
- Linux:shell脚本之彩色进度条
- 在Linux环境下实现打印彩色进度条
- linux下实现简单的彩色进度条程序
- 在linux下用c和shell编写彩色进度条
- linux脚本编程之shell实现彩色进度条
- Linux下,使用Makefile文件编写一个简单的彩色进度条
- Linux | Linux下简易彩色进度条
- Linux下打印彩色进度条
- LInux:shell 彩色进度条实现(有图有代码有真相!!!)
- 【Linux】彩色进度条的实现,Linux小程序
- C# 下载带进度条代码(普通进度条)
- Linux终端彩色打印+终端进度条【转】
- C# 下载带进度条代码(普通进度条)
- Linux终端彩色打印+终端进度条
- Linux下彩色进度条的实现(printf的格式化输出成彩色的,在linux下才有效)