Linux内核入门(三)——fread、read、fgets、fgetc函数

前言

上一篇博客讲到,使用open、close、read、write等函数,处理上述IO函数外,我们还可以使用c函数库提供的标准IO读写函数对文件进行操作。
下图展示了,标准IO和文件IO之间的区别,简单来说就是,文件IO是由系统调用提供的,可以直接对文件读写的函数。而标准IO则经过一个叫“c函数库”的中间商,实现对文件的读写。

标准IO里面的函数众多,可分为三种:全缓存,行缓存,无缓存
哪来的缓存这个东西呢?

缓存哪里来?

在使用标准IO函数的时候,因为有C函数库这个中间商存在,所以会多出来一个库缓存,干嘛用的呢,就是,用户想要和内核交换数据,不是直接交换了,数据得先在这个“库缓存”里待一会,待到什么时候呢

全缓存,行缓存,无缓存区别

很简单
行缓存是遇到‘\n’(换行符),或者行缓存被写满,就把缓存里的东西拿出来
全缓存就是写满缓存后,再把缓存里的东西拿出来
无缓存,就是根本不经过缓存。

除此之外:遇到:fclose函数,fflush函数,缓存里的东西也会被赶出来。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值