Linux下进度条的简单实现

本文的题目就是实现一个进度条,进度条的应用在软件中无处不在,拷贝一个文件需要一个进度条,加载一个文件也需要一个进度条,来标志完成与否。

那么 ,一个进度条有哪些元素呢:

1.  一个不断向右生长的容器(直观的看出当前的进度)

2.  一个数据化反映进度的百分比。

3. 一个标志(这个标志反映这个进度条是否在工作,还是卡死

但一些地方还是需要注意的

1.首先是回车符,回车符不是\n,我们可以把\n看成是两个动作的合体,分别是回车和换行,都有自己对应的符号,这利用回车符一直在同一个位置输出造成动态的假象

2. 因为没有用到\n和换行,但是C语言的printf是行缓冲输出,什么意思呢?就是说不满一行不输出,就是靠\n输出的,没有\n只好强制把缓冲中的数据输出出所以这就 要用到函数fflush()。

        \r  回车:使光标回到这一行的行首

         \n  换行:使光标到下一行

程序源代码

效果图

时间: 06-21

Linux下进度条的简单实现的相关文章

Linux下进度条小程序

源码如下: 简单实现的在命令行下进行简单的进度条显示的功能,能模拟现实目前的进度并且用旋转的字符表示代码正在运行未卡住. 代码主要利用了printf的格式化输出,以及回车符/r,在这里%s前进行了-100的对齐,也就是左对齐100个字符. Linux 平台下与windows不同的是将换行符\n表示成两个动作\r\n,好比老式的打字机,\n回车代表换行,\r表示将光标移到左边首个字符的位置.而printf等库函数在输出时,封装底层的系统调用,实际上I/O都有缓冲区,所以,对于printf等函数而言

Linux下禁止ping最简单的方法

LINUX下禁止ping命令的使用 以root进入Linux系统,然后编辑文件icmp_echo_ignore_allvi /proc/sys/net/ipv4/icmp_echo_ignore_all将其值改为1后为禁止PING将其值改为0后为解除禁止PING 直接修改会提示错误: WARNING: The file has been changed since reading it!!!Do you really want to write to it (y/n)?y"icmp_echo_i

Android loading进度条使用简单总结

在这里,总结一下loading进度条的使用简单总结一下. 一.说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验. 先来找图看看,做这个图完成不用图片就可以做到了. 看下xml布局文件,其实就是直接用xml写的在加两个属性设置一下就好了,一个style,另一个是background. <ProgressBar android:id="@+id/pb_progressbar" style="

【linux 禁止ping设置】Linux下禁止ping最简单的方法

ping是一个通信协议,是ip协议的一部分,tcp/ip 协议的一部分.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.应用格式为:Ping IP地址.但服务启用ping有时候会造成很多麻烦. 因此有时候根据需要(如防止攻击),Linux服务器管理员可限制服务器禁止其它用户Ping.同时又保证Linux服务器又可以Ping其它服务器. 下面介绍linux下最简单的禁ping方法 首先登陆服务器终端之间执行:echo 1 > /proc/sys/net/ipv4/icmp

Linux下crond服务的简单实现

crond是Linux用来定期执行程序的命令.crond命令每分钟会检查是否有要执行的工作, 如果有要执行的工作便会自动执行该工作.cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务: crontab -u:设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数: crontab -l :列出某个用户的cron服务: crontab -r:删除某个用户的cron服务: crontab -e:编辑某个用户的cron服务: crontab 

linux下redis数据库的简单使用

一.redis简介 Redis是一个key-value存储系统.和 Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表). sets(集合)和zsets(有序集合)几种数据类型.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作, 而且这些操作都是原子性的. 二.redis的安装 首先从在官网下载redis源码安装包,下载地址:https://github.com/an

linux 下mii-tool ethtool 命令简单的使用

################################################################ 通过命令查看linux网卡的物理信息,状态: [[email protected] ~]# mii-tool  eth0 eth0: negotiated 100baseTx-FD, link ok -V 显示版本信息: -v 显示网络接口的信息: -R 重设MII到开启状态: -r 重启自动协商模式: -w 查看网络接口连接的状态变化: -l 写入事件到系统日志:

linux下异步IO的简单例子【转】

转自:http://blog.chinaunix.net/uid-24567872-id-87677.html 首先,贴一下异步IO中用的的一些结构体,因为平常很少用,整理起来方便查看. aio.h中的struct aiocb struct aiocb{  int aio_fildes;        /* File desriptor. */  int aio_lio_opcode;        /* Operation to be performed. */  int aio_reqpri

Linux下安装pymssql及简单尝试

安装pymssql模块: centos : yum install python-devel python-setuptools 去https://pypi.python.org/pypi/pymssql/2.1.0  下载源码包  wget https://pypi.python.org/packages/source/p/pymssql/pymssql-2.1.0.tar.gz#md5=e955442a8cd43456cdf5c28b75147afb yum install freetds-