【Linux】Linux系统下进度条的模拟实现
来源:互联网 发布:好身材 知乎 编辑:程序博客网 时间:2024/05/16 07:23
前言:
在我们平时下载电影或者进入Centos平台下肯定都见过一个描述的当前进度的标识,----这就是一个进度条
本篇blog,我就来讲讲我的实现。
实现思路:
(1)进度条是从0-100%,开辟一个长度为101的字符数组,最后一个放\0,每次往前走一个我就打印一个=这个符号,形象地展示此时的进度。
(2)要借助缓冲区,每次从缓冲区取字符数组,利用\r(只回车不换行),只回车不换行的意思就是:每次接着在这一行打印,如果换行的话,那效果就是:第1行打印一个=,第2行打印==,类似……所以,我们在这里选择只回车不换行功能的\r,(注意转义字符)。
(3)在C语言中,格式输出中,我利用了
<span style="font-family:Microsoft YaHei;font-size:14px;"> printf("[%-100s] %d %% %c",rate,i+1,move[i%4]); </span>
[%-100s],意思是:打印时可以将右方括号]固定位置在100位置处,负号的原因是:从左往右打印。
(4)为方便大家看此时是正在进行,还是由于网络等原因,进度卡了。我在这里利用了:
<span style="font-family:Microsoft YaHei;font-size:14px;"> char move[5]="-\\|/"; </span>来简易实现一个顺时针的球(若大家认为实现的不美观,不要见笑,)。
代码如下:
#include <stdio.h> #include "string.h" int main() { int i=0; char move[5]="-\\|/"; char arr[101]; memset(arr,'\0',sizeof(arr)/sizeof(arr[0])); while(i<100) { arr[i]= '='; printf("[%-100s] %d %% %c",rate,i+1,move[i%4]); printf("\r"); usleep(100000); fflush(stdout); i++; } printf("\n"); return 0; }
大家可以在自己的机器平台上运行看一下动态效果,由于是动态效果,我在这里呢,只能把最终截图分享给大家。
0 0
- 【Linux】Linux系统下进度条的模拟实现
- 【Linux】Linux下进度条的模拟实现
- Linux下模拟实现进度条
- Linux下模拟实现进度条
- Linux系统下简易进度条的实现
- 【Linux】linux下模拟进度条的编写
- Linux环境下模拟实现进度条
- Linux中模拟实现进度条
- Linux下实现进度条
- Linux下实现进度条
- Linux下实现进度条
- Linux下的进度条的实现
- linux 下的进度条的实现
- 简单实现linux下的循环进度条
- linux下进度条的简单实现
- linux下进度条的简单实现
- linux下实现简单的进度条
- Linux下简易进度条的实现
- xargs命令详解
- GraphX创建图并可视化的核心技术
- XML(5)序列化写入xml文件
- 《剑指offer》:[15]实现指数函数:x的y次方
- Android Http缓存数据处理
- 【Linux】Linux系统下进度条的模拟实现
- Android-menu
- Python内置函数chr() unichr() ord()
- 原来我一个对网络不熟的人,也可以通过网络盈利,神了
- 【C++学习笔记】
- 移除监听事件
- Cannot launch AVD in emulator. Output: sh: 1: glxinfo:
- OC&&IOS开发小技巧总结
- Android中dip和px的互转