彩色进度条
C语言实现彩色进度条—linux环境下编译
代码实现:
#include<stdio.h>
#include<unistd.h>
#define NONE "\033[m"
#define RED "\033[0;32;31m"
#define LIGHT_RED "\033[1;31m"
#define GREEN "\033[0;32;32m"
#define LIGHT_GREEN "\033[1;32m"
#define BLUE "\033[0;32;34m"
#define LIGHT_BLUE "\033[1;34m"
#define DARY_GRAY "\033[1;30m"
#define CYAN "\033[0;36m"
#define LIGHT_CYAN "\033[1;36m"
#define PURPLE "\033[0;35m"
#define LIGHT_PURPLE "\033[1;35m"
#define BROWN "\033[0;33m"
#define YELLOW "\033[1;33m"
#define LIGHT_GRAY "\033[0;37m"
#define WHITE "\033[1;37m"
int main()
{
char buf[101] = {0};
size_t i = 0;
const char* laber = "-/|\\";
for(i = 0;i<50;++i)
{
int c = i%5;
switch(c)
{
case 0:printf(RED);
break;
case 1:printf(GREEN);
break;
case 2:printf(BLUE);
break;
case 3:printf(YELLOW);
break;
case 4:printf(BROWN);
break;
}
buf[i] = '#';
printf("[%lu%%][%c][%-50s]\r",i*2,laber[i%4],buf);
fflush(stdout);
usleep(100000);
}
printf("\n");
printf("\033[0m");
return 0;
}