linux下的小程序-进度条(简易)

在写进度条小程序之前,要了解下面几点知识:
1.首先要了解回车和换行:

换行和回车不是一个概念!

简单来说,换行是光标移动到下一行,而回车(\r)是把光标移动但当前行的最开始(行首)。

2.还需要了解缓冲区:
缓冲区分为:无缓冲、行缓冲、全缓冲。
无缓冲:是指没有缓冲,可以将信息立马显现出来。
行缓冲:是输入输出遇到换行才执行的操作。
全缓冲:是输入输出写满缓冲区才执行I/O操作。
3.了解fflush函数:
fflush函数,作用清除读写缓冲区,需要立即把输出缓冲区的数据进行物理写入时。
fflush(stdin)作用是刷新标准输入缓冲区,把输入缓冲区里的东西清空。
fflush(stdout)作用是刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。

了解之后,就可以开始写代码,如下:

#include<stdio.h>
#include<string.h>
#include<unistd.h>

int main()
{
	int i=0;
	char arr[102];
	memset(arr,0,sizeof(arr));
	const char*ptr="|/-\\";
	for(;i<=100;i++)
	{
		printf("[%-100s][%d%%][%c]\r",arr,i,ptr[i%4]);//取模运算为防止越界
		//%-100s 预留100个字节的空间,左对齐    %%输出% 
		fflush(stdout);//刷新输出缓冲区
		arr[i]='#';
		usleep(10000);//把程序挂起一段时间,单位微秒
	}
	printf("\n");
	return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值