【C语言】实现一个变色的进度条
实现一个如上的进度条
要求
1、依次多打印一个'#'
2、并后面标注百分比
3、还可以进行变色
实现进度条(未变色)
strip.c
- #include<stdio.h>
- #include<unistd.h>
- #define M 100
- int main()
- {
- char ch = '#';
- char str[M] = {0};
- int i = 0;
- char symbol[4] = {'|','/','-','\\'};
- for(i = 0; i<M; ++i)
- {
- <span style="white-space:pre"> </span> str[i] = '#';
- printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);
- fflush(stdout);
- usleep(10000);
- printf("\n");
- system("clear");
- }
- return 0;
- }
#include<stdio.h>
#include<unistd.h>
#define M 100
int main()
{
char ch = '#';
char str[M] = {0};
int i = 0;
char symbol[4] = {'|','/','-','\\'};
for(i = 0; i<M; ++i)
{
str[i] = '#';
printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);
fflush(stdout);
usleep(10000);
printf("\n");
system("clear");
}
return 0;
}
现在让我们实现变色版本
定义颜色头文件 color.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"
#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"
在strip.c中引入 color.h 并实现变色
- #include<stdio.h>
- #include<unistd.h>
- #include"color.h"
- #define M 100
- int main()
- {
- char ch = '#';
- char str[M] = {0};
- int i = 0;
- char symbol[4] = {'|','/','-','\\'};
- for(i = 0; i<M; ++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;
- }
- str[i] = '#';
- printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);
- fflush(stdout);
- usleep(100000);
- printf("\n");
- system("clear");
- }
- printf("\033[0m");
- return 0;
- }
#include<stdio.h>
#include<unistd.h>
#include"color.h"
#define M 100
int main()
{
char ch = '#';
char str[M] = {0};
int i = 0;
char symbol[4] = {'|','/','-','\\'};
for(i = 0; i<M; ++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;
}
str[i] = '#';
printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);
fflush(stdout);
usleep(100000);
printf("\n");
system("clear");
}
printf("\033[0m");
return 0;
}
实现一个Makefile
- strip.exe:strip.c
- gcc strip.c -o strip.exe -g
- .PHONY:clean
- clean:
- rm -f strip.exe
strip.exe:strip.c
gcc strip.c -o strip.exe -g
.PHONY:clean
clean:
rm -f strip.exe
运行结果
版权声明:本文由 皓皓松博客 创作,转载请附带链接,有问题欢迎交流。
- 本文已收录于以下专栏:
- Linux操作系统
目前您尚未登录,请 登录 或 注册 后进行评论
相关文章推荐
-
在Linux下用C语言写一个小程序实现一个进度条编写Makefile来进行运行
运行结果如下: 代码:Makefile编写:- wangiijing
- 2016年06月04日 19:38
- 1087
-
C语言实现的百分比加进度条的显示程序
项目中需要设计一个远程设备升级程序,程序优化时想在数字显示升级进度的同时用类似wget的进度条的形式显示升级进度,于是写了一个简单的数字+进度条显示升级进度的程序,但求读者举一反三,以达到抛砖引玉的效...- bad_good_man
- 2015年09月11日 20:01
- 2337
-
【程序员之路】我是前端工程师,怎么了?
今天我30岁了,在此之际,回想我的程序生涯之路,十分感慨,谈谈我作为程序员的选择之路..
-
实现进度条——基于c语言和shell脚本
实现进度条——基于c语言和shell脚本 今天分享一下基于c语言和shell脚本的进度条的实现以及运行界面。 进度条即计算机在处理任务时,实时的,以图片形式显示处理任务的速...- sd_bit19
- 2017年07月16日 11:38
- 108
-
【C语言】进度条实现
模拟电脑程序安装的进度条提供两种方式代码如下:#include #include#includevoid proc(){int i = 0;for...- Irean_Lau
- 2015年05月22日 23:40
- 3371
-
【C语言】实现彩色的进度条
【Linux】shell脚本实现进度条- LX18792732127
- 2017年07月14日 17:10
- 324
-
AI 工程师职业指南
我们请来商汤、杜邦、声智、希为、58同城、爱因互动、中科视拓、鲁朗软件等公司 AI 技术一线的专家,请他们从实践的角度来解析 AI 领域各技术岗位的合格工程师都是怎样炼成的。
-
Linux下用C语言来实现简单的进度条
一、源代码#include#includevoid proc(){ int rate=0;//进度率 表示进度走的百分比 char bar[102]={0};//初始化进度条大小 ...- weixin_36820871
- 2017年04月05日 19:35
- 121
-
Linux C语言下TCP传文件,并显示传输进度条
1.本文介绍将文件通过sever传到client端,并显示传输进度条2.打开一个终端,执行./file_server在file_server所在目录下放好要传的文件tianitande.m...- journey0804
- 2017年04月06日 10:24
- 672
-
c语言linux编写进度条
编写一个简单的进度条首先需要注意几个点,第一回车和换行的区别,回车为\n,指从后面回到这一行的第一列,换行为\r,指从本行移至下一行,不改变列的位置,所以平时的ENTER键是回车加换行,第二点缓冲区,...- qq_35116353
- 2017年02月17日 20:34
- 446
-
C语言 windows程序设计 工具栏、滑动条、进度条练习
- 2010年11月01日 14:08
- 55KB
- 下载
-
易语言画板实现无闪烁扁平进度条
- 2017年01月23日 17:33
- 80KB
- 下载
-
shell实现一个简单进度条
shell简单语法 条件测试用命令test或[ 测试一个条件是否成立。如果测试条件为真,命令的Exit Status为0,测试条件为假,Exit Status为1。 这里输入的数字比10大,条件...- xs_520
- 2017年06月29日 17:25
- 475
-
三种方式实现自定义圆形页面加载中效果的进度条,包含一个好看的Android UI
一、通过动画实现定义res/anim/loading.xml如下:xmlns:android="http://schemas.android.com/apk/res/android"> ...- ch1406285246
- 2016年08月15日 14:48
- 1244
-
Linux中实现一个简单的进度条
说起进度条,其实大家常常见到,比如说你在下载视频或文件的时候,提示你当前下载进度的就是我们今天要说的进度条,进度条的模拟实现是挺简单的,但是要做的比较实用还是需要注意很多地方的,下来我就一步步的深入分...- qq_29503203
- 2017年01月01日 13:48
- 4821
-
一个数据收集进度条的实现
这次项目涉及到一个淘宝数据收集的过程,使用thinkphp实现的整个网站。其中在数据收集的过程中,因为数据导入是一项很费时的事情,如果让导入页面一直没有响应,用户都不知道发生了什么事情。三波一折,总算...- bupthua
- 2012年07月28日 15:42
- 1100
-
Linux中实现一个简单的进度条
说起进度条,其实大家常常见到,比如说你在下载视频或文件的时候,提示你当前下载进度的就是我们今天要说的进度条,进度条的模拟实现是挺简单的,但是要做的比较实用还是需要注意很多地方的,下来我就一步步的深入分...- yuehailin
- 2017年01月03日 23:22
- 1183
-
iOS实现一个颜色渐变的弧形进度条
转自:http://www.2cto.com/kf/201403/284399.html在Github上看到一些进度条的功能,都是通过Core Graph来实现。无所谓正确与否,但是开发效率明显就...- creamy521
- 2014年03月21日 10:53
- 574
-
C实现一个进度条
平常是否做过一些小项目需要耗费一定的时间?看着别人的软件上的进度条着实有些羡慕,不放来实现一个简单的进度条吧!我们需要将【】左右中括号“固定”在屏幕的两边,然后依次用“=”将它填满,是从左向右的。...- qq_33724710
- 2016年06月07日 14:23
- 343
-
Android中用图片自定义一个进度条(实现蒙板效果)
对于进度条我相信大家不陌生,这里我就不再多说什么了。因为这个不是重点。我们要说的是如何去自定义一个不一样的进度条。这里用到两张图片(背景和前景),其实是三张(背景、前景和蒙图)。当我们的蒙图在移动的时...- u013761665
- 2014年07月31日 23:36
- 2421
-
MFC中用c++语言实现进度条和定时器
一.使用VS2015创建新项目->MFC应用程序->基于对话框 二.在对话框中添加Progress Control控件和一个Button控件 三.双击“启动”Button进入代码编辑,...- Dragon_9527
- 2017年11月06日 16:35
- 55
-
iOS实现一个颜色渐变的弧形进度条
在Github上看到一些进度条的功能,都是通过Core Graph来实现。无所谓正确与否,但是开发效率明显就差很多了,而且运行效率还是值得考究的。其实使用苹果提供的Core Animation能够非常...- zhoutao198712
- 2014年03月09日 21:20
- 45341
博主专栏
展开
在线课程
-
讲师:董晓杰
-
讲师:姚远
他的热门文章
- 【C/C++】求最大公约数的三种方法
22963
- 【C/C++】Sleep函数的用法
14275
- 【C/C++】折半查找(二分查找)
9332
- 【C/C++】回溯经典算法之-->八皇后问题
8851
- 【C语言】输出九九乘法口诀表
5036