Linux实现简单的进度条
来源:互联网 发布:支付宝超强助手源码 编辑:程序博客网 时间:2024/05/29 13:49
说起进度条,我们自然不陌生,在我们下载文件或者视频的时候,都会有进度条来提示我们下载的进度,所以今天我们就在Linux下实现一下简单的进度条的程序。
1、回车换行
回车换行(\n):每次光标移到下一行的行首位置处;
换行(\r):每次光标移到本行的行首位置处
在输入\r,光标将移动到行首,输入\n光标换行并且移动到下一行行首,相当于\n\r。
2、行缓冲区、fflush
缓冲区分为无缓冲、行缓冲、全缓冲。
无缓冲:表示的是没有缓冲,可以将信息立马显现出来,典型代表是标准错误流stderr。
行缓冲:表示的是输入输出遇到换行才执行真正的I/O操作。典型的代表是键盘的操作。
全缓冲:表示的是输入输出写满缓冲区才执行I/O操作。典型的代表是磁盘的读写。
printf是一个行缓冲函数,先写到缓冲区,满足条件后,才将缓冲区刷到对应文件中,刷缓冲区的条件如下:
1 缓冲区填满
2 写入的字符中有‘\n’ ‘\r’
3 调用fflush手动刷新缓冲区
4 调用scanf要从缓冲区中读取数据时,也会将缓冲区内的数据刷新
满足上面4个条件之一缓冲区就会刷新,,也就是printf会真正调用write来写入
当我们执行printf的进程或者线程结束的时候会主动调用flush来刷新缓冲区,所以程序结束,也会刷新。
3、sleep,usleep
Linux下(使用的gcc的库),sleep()函数是以秒为单位的,sleep(1);就是休眠1秒。而MFC下的Sleep()函数是以毫秒为单位的,sleep(1000);才是休眠1秒。而如果在Linux下也用微妙为单位休眠,可以使用线程休眠函数:void usleep(unsigned long usec)。
程序代码如下:
结果:
- LINUX实现简单的进度条
- Linux实现简单的进度条
- 【Linux】简单实现进度条
- 【Linux】简单实现进度条
- 简单实现linux下的循环进度条
- linux下进度条的简单实现
- linux中实现一个简单的进度条
- Linux中实现一个简单的进度条
- linux下进度条的简单实现
- 用linux实现一个简单的进度条
- Linux中实现一个简单的进度条
- linux下实现简单的进度条
- Linux下进度条的简单实现
- Linux下简单进度条的实现
- Linux下进度条的简单实现
- Linux下的简单进度条实现
- 【Linux】简单的makefile和进度条实现!!
- 进度条的简单实现
- Mac下QT编译输出路径错误:ld unknown option ...
- java基础 int变量自增 效率问题
- BZOJ P1044[HAOI2008]木棍分割
- mybatis_01
- 蓝桥杯_最大比例
- Linux实现简单的进度条
- python-str,list,set间的转换
- 网络编程简介
- 求深度的笔记
- SPOJ
- Docker 入门(1)
- 考研总结
- 城市问题
- leetcode解题之 15. 3Sum Java版(结果为目标值的三个数字)