码迷,mamicode.com
首页 > 系统相关 > 详细

Linux下模拟实现进度条

时间:2016-06-05 17:13:16      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:下载文件   字符串   include   软件   linux   


   进度条是什么?进度条就是在你下载文件、软件、游戏等出现的进度,它会显示你在有百分之多少就能下载好这个东西。

   由于自己的好奇,我就在Linux下实现了这个东西。

我的实现思路:

   1.给一个数组,这个数组必须能保存下100个字符。

   2.然后把数组看成一行来读取。

   3.最后标准输出在屏幕上。

注意:

    1.我们要打印个进度条肯定是100%的,所以需要一个能够刚下100个字符的数组是必要的,但是需要注意的是要多开辟一个字符放‘/0’,开辟好以后还需要全部初始化成‘/0‘防止输出字符串的时候出现乱码。 

     2.最重要的是需要加上printf("/r"),这个是用来只回车不换行,能够达到的功能是缓冲去里面的值始终只有一行,不会出现每次要输出一串字符,这样就能实现进度条的核心功能了。 

     3.在打印进度条时,需要将两边的框固定,所以写成%100s但是需要加上负号,因为那样写是从右边开始打印的

实现代码:

#include<stdio.h>
#include <string.h>
void proc()
{
	int rate = 0;
	const char *lable = "|/-\\";
	char bar[102];
	memset(bar, ‘\0‘, sizeof(bar));//初始化
	while (rate <= 100)
	{
		bar[rate] = ‘=‘;
		printf("[-101s][%d%%][%c]\r", bar, rate, lable[rate % 4]);
		fflush(stdout);//标准输出
		rate++;
		usleep(10000);
	}
	printf("\n");
}
int main()
{
	proc();
	return 0;
}

输出结果:

技术分享

Linux下模拟实现进度条

标签:下载文件   字符串   include   软件   linux   

原文地址:http://mnt3918290.blog.51cto.com/10729316/1786282

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!