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

【lesson6】Linux下:第一个小程序,进度条代码

文章目录

  • 准备工作
    • sleep问题
    • fflush
    • 回车与换行的区别
  • 进度条代码

准备工作

sleep问题

首先我们来看一段代码:
在这里插入图片描述
这时候有个
问题这个代码是输出“hello world”还是先sleep三秒?
再来一段代码
在这里插入图片描述
这个代码是先sleep三秒还是先输出“hello world”?
实际证明:
在这里插入图片描述
在这里插入图片描述
很明显有\n的会先输出内容,再sleep
没有\n的会先sleep,再输出内容

这是为什么呢?
因为C语言会给我们提供一个输出缓冲区,根据特定的刷新策略来进行刷新缓冲区内容。
输出缓冲区:就是C语言给我们提供的一段内存空间。

为什么碰到\n机就会输出内容呢?
因为显示器设备,一般的刷新策略是行刷新,只要碰到\n就会刷新\n之前的所有字符内容。

fflush

如果我们必须要这个程序立马刷新呢?
这是就会用到fflush函数。

fflush介绍:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以看到内容先输出出来了。

回车与换行的区别

回车:是把光标移动到一行的最开始
换行:是重新另起一行

演示:
换行:
在这里插入图片描述
在这里插入图片描述
回车:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以看到变成了程序具有了倒计时功能。

进度条代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/98936.html

相关文章:

  • PostgreSQL实战-pg13主从复制切换测试
  • 如何使用OpenCV库进行图像检测
  • Mybatis中where 1=1 浅析
  • element中el-input组件限制输入条件(数字、特殊字符)
  • 会议OA项目之会议发布(一)
  • 【Android】对象为null的一个原因:在方法内部,重新创建了一个新的对象并将其赋值给原对象,但这并不会改变原始的原对象的引用
  • macbook 软件iMovie for Mac(专业视频剪辑工具)中文版
  • web APIs-练习一
  • AX88179A千兆网卡芯片,支持switch联网
  • Pytorch个人学习记录总结 05
  • windows部署安装redis安装教程
  • Jmeter post请求传参问题
  • 对Windows应用程序进行代码签名
  • 2022 China Open Source Report
  • postgresql|数据库|启动数据库时报错:FATAL: could not map anonymous shared memory的解决
  • 数字签名与数字证书
  • 基于Jquery EasyUI JSZip FileSaver的简单使用
  • git远程一个分支对应本地两个分支推送
  • SpringCloud学习—Hystrix:服务熔断
  • 8款常用系统镜像烧录软件
  • 设计模式什么情况下适合使用呢?
  • Docker和K8s区别,使用场景,具体怎么使用以及详细命令
  • K8S集群创建和管理,以及常用命令
  • HarmonyOS/OpenHarmony元服务开发-卡片使用动效能力
  • 【FusionInsight HD】FusionInsight HD 651创建集群-Yarn
  • MQ, RocketMQ, 安装
  • Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集
  • 借助 Mybatis 的动态 SQL 解决传参不确定问题
  • 前端框架学习-Vue(一)
  • Elasticsearch Query DSL