Linux下vim上编辑实现进度条
来源:互联网 发布:papi 知乎 编辑:程序博客网 时间:2024/05/16 19:18
1.效果展示:
进度条,先来看一个效果:
这是进度结果,模拟实现了进度条的前进、百分比的现实、以及稍微的动画特效。
2.原理描述:
因为Linux系统下的输出有缓存,如果及时刷新显示,就可以得到我们想看到的效果,这里必须调用:
fflush(stdout);解释一下,fflush(stdout),是对标准输出流的清理,作用是立即清除输出缓存区的东西,并输出,有关于fflush(stdout),请移驾另一篇博客:
地址:http://blog.csdn.net/li_ning_/article/details/51594340
其实原理就是很简单,先看看代码:
3.代码:
#include<stdio.h>#include<string.h>void porc(){ int rate = 0; char bar[102]; //进度条长度 memset(bar,'\0',sizeof(bar)); const char* lable = "|/-\\"; //动画特效 printf("加载中,请稍后...\n"); while(rate <= 100) {bar[rate] = '=';printf("[%-101s][%d%%][%c]\r",bar,rate,lable[rate%4]);fflush(stdout); //强制刷新rate++;usleep(100000); //间隔时间 } printf("\n"); printf("加载完成...\n");}int main(){ porc(); return 0;}A:数组在进度条的整个过程中,有一个缓存的作用,和进度区间的展示;
B:在printf()后使用fflush(stdout)的作用是立刻将要输出的内容输出。 当使用printf()函数后,系统将内容存入输出缓冲区,等到时间片轮转到系统的输出程序时,将其输出。
使用fflush(out)后,立刻清空输出缓冲区,并把缓冲区内容输出,每一个循环,‘=’比前一个循环多一个,第二次的输出都去覆盖第一个的输出,如此才展示进度的动态效果:
4.Linux下程序展示:
赐教!
1 0
- Linux下vim上编辑实现进度条
- linux :vim 实现命令行下输出进度条
- Linux 下进度条的编辑
- Linux下的进度条编辑
- linux环境下使用vim实现简易进度条代码
- linux vim进度条的实现
- Linux下实现进度条
- Linux下实现进度条
- Linux下实现进度条
- Linux下实现一个进度条
- linux下实现一个进度条
- Linux下实现简单进度条
- linux下实现简单进度条
- Linux下模拟实现进度条
- Linux下简单进度条实现
- Linux下模拟实现进度条
- linux下实现彩色进度条
- linux系统下编辑文件(vim编辑器)
- Python操作protobuf示例
- MySql常用操作
- ImageLoader
- linux压缩和解压缩命令大全
- android学习笔记6.06
- Linux下vim上编辑实现进度条
- 深度学习FPGA实现基础知识1(网友关于FPGA机器学习想法)
- 欢迎使用CSDN-markdown编辑器
- Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
- 5种调优Java NIO和NIO.2的方式
- 深入理解javascript原型和闭包(完结)
- 学习WCF之路3:在IIS中寄存服务
- 面试中常见链表问题5:删除链表中重复元素2
- 51nod 1082 与7无关的数