赞
踩
各种各样的类型,有的是显示图形,有的是只显示背景颜色的进度条。
proc.c
改变printf输出字样的颜色
//颜色变更方法
printf("\033[字背景颜色;字体颜色m字符串\033[0m" );
//例子
printf("\033[47;31mThis is a color test.\033[0m");
我在这里选择改变背景颜色,当然也可以改变字体颜色,但是我觉得实心的颜色更加像真的进度条。
1.需要增加百分比就需要 写%号,可是不能直接写一个%,有人说写成%,可是会有报错,所以正确写法是%%,没错就是双百分号。
2.进度条要提前设置符号可以是‘*’,‘=’,‘-’等等,我在这里设置的是‘ ’空格,宏定义最好了,方便改动,设置成STYLE。
3.当然要有一个小箭头,但是进度条完毕就要消失,所以设置了一个判断,if(i!=100)pri[i]=‘>’.
4.还要有一个小木棒在旋转提前设置好lable[]={- \|/},这里为了防止\被转义,需要两个\。
proc.h
main.c
#include"proc.h" 2 #include<string.h> 3 #include<unistd.h> 4 5 #define SIZE 101 6 #define STYLE ' ' 7 8 void process() 9 { 10 const char* lable="-\\|/"; 11 int i=0; 12 char pri[SIZE]; 13 memset(pri,'\0',SIZE); 14 while(i<SIZE) 15 { 16 printf("%d%%[%c]\033[41m%-s\033[0m\t \r",i,lable[i%4],pri); 17 fflush(stdout); 18 pri[i++]=STYLE; 19 if(i!=100) pri[i]='>'; 20 usleep(100000); 21 } 22 printf("\n"); 23 }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。