linux之缓冲区

行缓冲。在这种情况下,当在输入和输出中遇到换行符时,标准I/O库执行I/O操作。这允许我们一次输出一个字符,但只有在写了一行之后才进行实际I/O操作。当流涉及一个终端时,通常使用行缓冲。

第一个例子:(hello world)


在这里,当我们没有在hello world后边跟\n,此时结果中并没有出现hello world;


而当我们给它加上\n之后,


结果是这样的:


这是为什么呢,这里就是因为缓冲区的存在。当我们在屏幕上打印出来之前会将内容存放在行缓冲区里。只有识别到\n时,才会输出内容。

第二个例子:(神奇的进度条)

说起进度条,大家都再熟悉不过了。比如像这样的:


这样的一个进度条怎么用代码实现呢?

简单的分析一下,首先我们要输出走过的进度,以及剩余部分,同时还得显示百分比。

代码实现如下:



progress_bar是定义了一个102个空间,来存放每个进度;

ch[]表示的是出现进度时的缓冲效果;

‘#’代表了进度;

fflush(stdout):为了刷新行缓冲区的内容;

usleep(100000):睡眠时间,即控制进度的快慢;

运行结果如下:



今天的缓冲就先说到这里喽~~

欢迎提出宝贵意见哦。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值