当前位置:   article > 正文

Linux一学就会——制作进度条_linux实现高级进度条

linux实现高级进度条

Linux一学就会-----制作进度条

成果展示

各种各样的类型,有的是显示图形,有的是只显示背景颜色的进度条。
在这里插入图片描述

程序讲解

proc.c
在这里插入图片描述
改变printf输出字样的颜色
在这里插入图片描述

//颜色变更方法
	printf("\033[字背景颜色;字体颜色m字符串\033[0m" );
//例子
    printf("\033[47;31mThis is a color test.\033[0m");
           
  • 1
  • 2
  • 3
  • 4
  • 5

我在这里选择改变背景颜色,当然也可以改变字体颜色,但是我觉得实心的颜色更加像真的进度条。
在这里插入图片描述

细节讲解

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 }              
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/334918
推荐阅读
相关标签
  

闽ICP备14008679号