linux实现进度条

本文介绍了如何在Linux环境下使用C语言实现进度条功能。代码通过创建一个0到100的进度范围,并在加载资源时逐步更新进度条。文章还探讨了回车符( )和换行符( )的区别,回车用于将光标返回当前行首,而换行则使光标移到下一行。此外,还提到了fflush()函数在处理缓冲区中的作用,确保数据被正确写入文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux实现进度条代码如下:

#include<stdio.h>

  2 #include<unistd.h>
  3 int main()
  4 {
  5 char bar[102];
  6 bar[0] = '\0';
  7 const char *lable = "-\\|/";
  8 int i = 0;
  9 while(i <= 100)
 10 {
 11 printf("[%-101s][%d%%][%c]\r",bar,i,lable[i%4]);
 12 fflush(stdout);
 13 bar[i++] = '#';
 14 bar[i] = '\0';
 15 usleep(10000);
 16 }
 17 return 0;

 18 }

截图:

上述代码采用  makefile


基本原理:

(1)进度条原理:创建一个范围为0到100的进度条.我会把进度条初始为0,然后,当我载入一个资源的时候我会用单位长度来让进度条前进一个步长.当进度条前进时,它都会重画自身 从而实现我们想要的结果。

(2)回车和换行的区别

回车:回车 \r 本义是光标重新回到本行开头,r的英文return。

换行:换行 \n 本义是光标往下一行(不一定到下一行行首),n的英文newline。

(3)缓冲区:fflush()会强迫将缓冲区内的数据写回参数stream 指定的文件中. 如果参数stream 为NULL,fflush()会将所有打开的文件数据更新.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值