linux第一个小程序 --- 进度条【简洁】

行缓冲区的概念

结果:先输入hello world然后休眠三秒后结束

当去掉''\n" 后,结果就变成了先休眠三秒,然后打印hello world后结束。

该现象就证明了缓冲区的存在。

当缓冲区中遇到''\n''或者缓冲区被写满后才会被打印出来,在第二张图片里面,没有\n,所以hello world先被写入缓存区,然后休眠三秒后,直到程序运行结束才将hello world打印到显示器。

\r和\n

\r: 回车,使光标回到本行行首。
\n: 换行,使光标下移一格。

键盘上的enter就等于\n + \r;

\r 是让光标回到本行行首,如果我们向显示器上写了一个数,然后再写一个数,不就相当于将前面一个数字覆盖了吗?

而且,不使用\n 如何将缓存区中的数据打印出来?

---》用fflush函数,该函数可以刷新缓冲区。

首先来看一个倒计时:

进度条代码及效果展示


相关推荐
linweidong1 小时前
C++ 模块化编程(Modules)在大规模系统中的实践难点?
linux·前端·c++
invicinble5 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷5 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
半桔6 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
HABuo6 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7777 小时前
关于Linux服务器的协作问题
linux·运维·服务器
小白同学_C8 小时前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
十年磨一剑~8 小时前
Linux程序接收到sigpipe信号崩溃处理
linux
geshifei8 小时前
Sched ext回调3——select_cpu(linux 6.15.7)
linux·ebpf
代码游侠9 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法