您的位置:首页 > 运维架构 > Linux

Linux下简单进度条实现

2017-04-08 20:51 211 查看
系统:CentOS

1、printf行缓冲函数

printf是一个行缓冲函数,先写到缓冲区,满足一定条件会刷新缓冲区。比如有'\n'或者调用 fflush(stdout) 手动刷新等。


验证:以打印0到49为例子

<1>没有\n,有fflush(stdout)



现象:边打印边输出

<2>没有\n,没有fflush(stdout)



现象: 先休眠一会儿,在输出结果

<3>没有fflush(stdout),有\n



现象:换行边打印边输出

2、\r和\n区别

\r 仅仅只是回车,\n是换行,如果下一行有内容光标会回到内容的后边。回车就是光标回到最左边;换行就是移动到下一行。如果只回车,打印的东西会覆盖同行以前的内容。


在实现进度条时就会用到上面的知识。

进度条实现过程

进度条大致分3个部分:

<1>进度条部分[#####],注意刷新缓冲区、换行和回车区别、打印方向、格式化控制;

<2>显示百分比,注意%为特殊字符,%%输出为%;

<3>显示加载图案,定义一个字符串“|/-\\”实现顺时针加载图案,注意\为转义字符,需要两个\;


代码部分

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  进度条 linux