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

文章目录

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

准备工作

sleep问题

首先我们来看一段代码:
【lesson6】Linux下:第一个小程序,进度条代码_第1张图片
这时候有个
问题这个代码是输出“hello world”还是先sleep三秒?
再来一段代码
【lesson6】Linux下:第一个小程序,进度条代码_第2张图片
这个代码是先sleep三秒还是先输出“hello world”?
实际证明:
【lesson6】Linux下:第一个小程序,进度条代码_第3张图片
【lesson6】Linux下:第一个小程序,进度条代码_第4张图片
很明显有\n的会先输出内容,再sleep
没有\n的会先sleep,再输出内容

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

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

fflush

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

fflush介绍:
【lesson6】Linux下:第一个小程序,进度条代码_第5张图片
【lesson6】Linux下:第一个小程序,进度条代码_第6张图片
【lesson6】Linux下:第一个小程序,进度条代码_第7张图片
在这里插入图片描述
我们可以看到内容先输出出来了。

回车与换行的区别

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

演示:
换行:
【lesson6】Linux下:第一个小程序,进度条代码_第8张图片
【lesson6】Linux下:第一个小程序,进度条代码_第9张图片
回车:
【lesson6】Linux下:第一个小程序,进度条代码_第10张图片
在这里插入图片描述
在这里插入图片描述
【lesson6】Linux下:第一个小程序,进度条代码_第11张图片
我们可以看到变成了程序具有了倒计时功能。

进度条代码

【lesson6】Linux下:第一个小程序,进度条代码_第12张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(linux,linux,运维,服务器)