【Linux】彩色进度条的实现,Linux小程序
2017-12-05 19:45
483 查看
目录
普通版进度条的实现在process目录下创建process.c C程序文件
创建makefile文件,该文件实现编译process.c C代码的功能
彩色进度条的实现
Linux下输出彩色字符
修改普通版的process.c 程序
一、普通版进度条的实现
1.1 创建该程序的专有目录
①首先通过mkdir process ,创建process目录;②cd process ,进入process目录下;
③vim process.c ,创建C程序并进入开始编写程序;
④普通版进度条的C语言实现代码:
#include<stdio.h> #include<unistd.h> int main(){ char buf[101] = {0};//用buf存放要输出的进度条 size_t i = 0; const char* label = "-/|\\"; for(;i<50;++i){ buf[i] = '#'; printf("[%lu%%][%c][%-50s]\r",i*2,label[i%4],buf); /*[%lu%%]->i*2,因为I最大为50,这里是以百分制的形式输出进度 const char* label = "-/|\\"; + [%c] + label[i%4] 这几句的意思是随着循环的进行,依次输出label所指字符串的单个字符,因为是以[%c]形式输出, 所以它只占一个字符位,最终会形成一个不断旋转的横线(借助时间间隔比较小形成的这种错觉)*/ fflush(stdout); /*fflush(stdout)是对标准输出流的清理,及时地打印数据到屏幕上,在这里就是不间断的输出buf*/ usleep(100000); } printf("\n"); return 0; }
1.2 创建makefile文件,该文件实现编译process.c C代码的功能
①在process目录下创建makefile文件,vim makefile;②在makefile文件下输入代码,如图所示:
③在终端输入 make ,这时会生成一个可执行程序 process,再输入./process , 就会执行该程序。
2、彩色进度条的实现
2.1 Linux下输出彩色字符
①控制码如下所示:\033[0m 关闭所有属性 \033[1m 设置高亮度 \033[4m 下划线 \033[5m 闪烁 \033[7m 反显 \033[8m 消隐 \033[30m----\33[37m 设置前景色 \033[40m----\33[47m 设置背景色 \033[nA 光标上移n行 \033[nB 光标下移n行 \033[nC 光标右移n行 \033[nD 光标左移n行 \033[y;xH 设置光标位置 \033[2J 清屏 \033[K 清除从光标到行尾的内容 \033[s 保存光标位置 \033[u 恢复光标位置 \033[?25l 隐藏光标 \033[?25h 显示光标
② 背景色:
40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色
③ 前景色:
30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色
④ 格式:
printf("\033[背景色码;字体色码m"要输出的字符串"\033[0m"); printf("\e[背景色码;字体色码m%s\e[0m","要输出的字符串");
【说明】:控制字符是打开某种样式,输出完成时需要再关闭样式才能使terminal恢复到原来状态,\033和\e的作用相同。
【例】:
printf("\e[32m%s\e[0m\n", "hello world"); \e[32m为打开绿色前景色样式,\e[0m为关闭所有样式,如果未关闭,则所有输出字体均为绿色前景色。
2.2 修改普通版的process.c 程序
【程序如下图所示】:【程序运行结果】:
进度条在前50%时是红色,后面变成绿色:
相关文章推荐
- Linux下彩色进度条的实现
- 在Linux下用C语言写一个小程序实现一个进度条编写Makefile来进行运行
- Linux下实现一个简单进度条和shell脚本实现彩色进度条
- linux下实现简单的彩色进度条程序
- 【Linux】Linux下实现一个简单的进度条程序
- Linux下彩色进度条的实现(printf的格式化输出成彩色的,在linux下才有效)
- 用Linux编写程序,实现一个简易的进度条
- Linux下彩色进度条的实现
- 在Linux中实现一个进度条程序
- Linux下用C语言实现彩色的进度条
- IO服用实现linux socket聊天程序(select)
- C语言实现的linux中打印程序
- 实现console程序显示彩色文本
- 学习心得:控件之进度条(在程序的状态栏中实现进度条)
- 程序的链接和装入及Linux下动态链接的实现
- 程序的链接和装入及Linux下动态链接的实现
- 用VC++实现console程序显示彩色文本
- Linux下实现双网卡共享上网 ADSL拨号程序
- Linux下Sniffer程序的实现
- 用VC++实现console程序显示彩色文本