当前位置: 首页 > news >正文

Linux小程序-进度条

目录

1.\r&&\n

2.fflush(stdout)

3.进度条代码和解释

4.运行展示


1.\r&&\n

        在Linux中,\r是回车,回车指的是将光标移到行首,\n是换行。

2.fflush(stdout)

        将缓冲区中的内容立即刷新到显示器文件中。C语言为我们提供了语言级别的缓冲区,fflush(stdout)可以立即将缓冲区的内容刷新到显示器文件中。因为缓冲区对显示器文件的刷新采取的是行刷新的策略,附和人一行一行看内容的习惯。如果是刷新到其它文件中,则不是行刷新,是全刷新的策略,后续文章中会详细分析。

        以下展示代码案例。

3.进度条代码和解释

#include "progressBar.h"

void progressBar(int second)
{
  char s[] = "|/-\\";//结尾位置旋转的标志,动态效果
  char arr[102];//进度条数组
  memset(arr,'\0',sizeof(arr));//初始化
  int cnt = 0;
  while(cnt <= 100)//1到百分之100
  {
    printf("[%-100s][%d%%][%c]\r",arr,cnt,s[cnt % 4]);//回车靠左的格式化输出
    fflush(stdout);//将缓冲区中的内容立即刷新到显示器文件中
    arr[cnt] = '=';//进度条向后走
    cnt++;
    if(cnt < 100)
      arr[cnt] = '>';//结尾位置加个箭头
    usleep(second);//睡眠second微秒
  }
  printf("\n");
}

4.运行展示

相关文章:

  • 《基于鸿蒙系统的类目标签AI功能开发实践》
  • 《Ollama官网可以下载使用的50个AI模型及介绍》:此文为AI自动生成
  • 机器学习:线性回归,梯度下降,多元线性回归
  • 工程化与框架系列(13)--虚拟DOM实现
  • Springboot中SLF4J详解
  • Winbox5怎样设置上网
  • SpringMVC(2)传递JSON、 从url中获取参数、上传文件、cookie 、session
  • 【图文详解】什么是微服务?什么是SpringCloud?
  • Python 实现定时查询数据库并发送消息的完整流程
  • Eureka Server 数据同步原理深度解析
  • Go红队开发—编解码工具
  • 2025年02月26日Github流行趋势
  • C++之vector
  • 如何在工控机上实现机器视觉检测?
  • Vue05
  • 计算机毕业设计SpringBoot+Vue.js英语知识应用网站(源码+文档+PPT+讲解)
  • 如何下载MinGW-w64到MATLAB
  • 解决Docker Desktop启动后Docker Engine stopped问题
  • 进入DeepSeek部署第一阵营后,奇墨科技推进多元应用场景落地
  • 小红的回文子串
  • wordpress 百度地图插件/百度关键词在线优化
  • 泉州比较好的网站开发建设公司/网站服务器失去响应
  • 建站公司现状/百度商城官网首页
  • 洛阳做网站的/优化公司排行榜
  • 网站建设电脑端手机端/搜索引擎是指什么
  • 电商网站开发思路模版/拼多多关键词优化步骤