文章目录
- 准备工作
- sleep问题
- fflush
- 回车与换行的区别
- 进度条代码
准备工作
sleep问题
首先我们来看一段代码:
这时候有个
问题这个代码是输出“hello world”还是先sleep三秒?
再来一段代码
这个代码是先sleep三秒还是先输出“hello world”?
实际证明:
很明显有\n的会先输出内容,再sleep
没有\n的会先sleep,再输出内容
这是为什么呢?
因为C语言会给我们提供一个输出缓冲区,根据特定的刷新策略来进行刷新缓冲区内容。
输出缓冲区:就是C语言给我们提供的一段内存空间。
为什么碰到\n机就会输出内容呢?
因为显示器设备,一般的刷新策略是行刷新,只要碰到\n就会刷新\n之前的所有字符内容。
fflush
如果我们必须要这个程序立马刷新呢?
这是就会用到fflush函数。
fflush介绍:
我们可以看到内容先输出出来了。
回车与换行的区别
回车:是把光标移动到一行的最开始
换行:是重新另起一行
演示:
换行:
回车:
我们可以看到变成了程序具有了倒计时功能。
进度条代码