Linux基础篇五(进度条)

原创 2016年06月08日 07:50:25

一、基本思路

主要就是模仿一些模仿一些游戏或者软件在安装的过程中的进度条。

主要包括一下几个方面:

(1)进度条

(2)进度的数字显示(%多少了)

(3)用一个标识标志文件是否任务还在进行

二、背景知识的铺垫

1、缓存区

先来看两份代码:

第一份:

#include<stdio.h>

int main()
{
	printf("hello world");
	sleep(5);
	return 0;
}
运行结果:

程序运行5秒后,在屏幕上打印出hello world同时程序结束

第二份:

#include<stdio.h>

int main()
{
	printf("hello world\n");
	sleep(5);
	return 0;
}
运行结果:

程序运行后,立刻打印出hello world,等待5秒中之后程序结束

思考:为什么不加\n打印的顺序不一样?

(1)printf为C语言相关的函数,在内存中有缓存去的概念,并且默认为行缓冲,直到缓冲区写满或者遇到\n(换行符,\r仅仅是回车但是并不换行),这时候将缓存区中的内容写出

(2)第一个程序将“hello world”写入缓冲区中,但是缓存区并没有写满,这个时候程序会继续执行sleep(5),程序退出的时候,程序强行清理行缓冲区

2、回车和换行的区别

\r : return 到当前行的最左边。
\n: newline 向下移动一行,并不移动左右

由于进度条每次都会

3、fllush函数

功能:强行将缓存去中的内容写出

下面这三个很重要:

(1)stdout(标准输入)

(2)stdin(标准输出)

(3)stderr(标准错误)

三、具体实现:

代码如下:

#pragma once
#include<stdio.h>
#include<string.h>

void ProBar()
{
	int rate = 0;
	char buffer[102];
	memset(buffer, '\0', sizeof(buffer));
	const char* lable = "|/-\\";
	while (rate <= 100)
	{
		buffer[rate] = '=';
		usleep(100);
		printf("[%-100s][%d%%]%c\r", buffer, rate, lable[rate % 4]);
		fflush(stdout);
		rate++;
	}
	printf("\n");
}

int main()
{
	ProBar();
	return 0;
}

四、运行效果

1、代码截屏


2、运行效果

过程中:


运行结束:



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

cocos2dx基础篇(23)——进度条CCProgressTimer

【唠叨】     哎,周围的同学都在搞cocos2dx 3.X了,而我还在用2.2.3。没办法,网上3.X的教程毕竟很少,还是等我的同学学得差不多了,我再换成3.X跟着同学搞,哪里不会问哪里...

EasyUI基础入门之searchbox&progressbar(搜索框和进度条)

easyui基础部分的学习(八大部分)只剩下searchbox和pargressbar、tooltip了,有点小激动呢。本偏文章将对searchbox和pargressbar做一个学习。鉴于两者的内容...

进度条简明基础(Progress Bar)

MSDN地址: http://msdn.microsoft.com/en-us/library/bb760818(v=vs.85) 进度条风格 Progress Bar Style PBS_SMO...

自定义View基础之——图片加载进度条

按照惯例,先看效果图,再决定要不要往下看: 既然看到这里了,应该是想了解这个图片加载进度条了,我们先看具体用法,再看自定义View的实现: RelativeLayout xmlns:and...

Android基础之UI设计与开发---------自定义进度条

一、在开发中我们经常要用到进度条显示下载或者加载的进度。系统自带的黄色进度条在UI效果上经常不能满足策划或者美工的要求。这就要我们屌丝程序员自己自定义进度条。 话不多说,先上图。 ...

Android基础控件——ProgressBar自定义的介绍、动画效果实现、附加三个漂亮的进度条

自定义ProgressBar介绍,附加三个漂亮的进度条 步骤一:创建出drawable的xml文件 步骤二:在layout的xml文件中使用 步骤三:查看效果图 步骤四:附加几个漂亮的进度条...

android基础进度条原理

一、说明  在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画...

Android基础之UI设计与开发---------自定义进度条

一、在开发中我们经常要用到进度条显示下载或者加载的进度。系统自带的黄色进度条在UI效果上经常不能满足策划或者美工的要求。这就要我们屌丝程序员自己自定义进度条。 话不多说,先上图。         实现...

Android基础入门教程——2.3.7 ProgressBar(进度条)

Android基础入门教程——2.3.7 ProgressBar(进度条) 本节引言: 1.常用属性讲解与基础实例 2.使用动画来替代圆形进度条 3.自定义圆形进度条 本节小结:

自定义控件 《进度条,统计圆环图》从0基础开始,备注详细,还有其他小技巧

自定义控件 《进度条,统计圆环图》从0基础开始,备注详细,还有其他小技巧 (后续会不断的更新优化) 说明:外环进度条的颜色 、宽度、底色;百分比的字体、大小、颜色;文字的大小、颜色、进度条动态加...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)