文件IO与标准IO的区别

  •  文件IO:是直接调用内核提供的系统调用函数, 头文件是unistd.h
  • 标准IO:是间接调用系统调用函数,头文件是: stdio.h
  • 之前学过:输入输入相关的函数,都是和标准的输入(键盘),标准的输出(显示器)

此前文章中,open,close,write与read函数都是使用unistd.h。

  • getchar(),putchar() ‐‐‐‐一个字符
  • gets(buf),puts(buf) ‐‐‐‐一串字符
  • scanf(),printf() ‐‐‐‐ 一个字符,一串字符都可以

         与一些普通文件的读写没有关系,也即这些函数不能读写普通文件。 标准IO中的相关函数,不仅可以读写普通文件,也可以向标准的输入或标准的输出中读或写。

 缓存的概念

  1. 我们的程序中的缓存,就是你想从内核读写的缓存(数组)----用户空间的缓存
  2. 每打开一个文件,内核在内核空间中也会开辟一块缓存,这个叫内核空间的缓存                    文件IO中的写即是将用户空间中的缓存写到内核空间的缓存中。                                              文件IO中的读即是将内核空间的缓存写到用户空间中的缓存中。
  3. 标准IO的库函数中也有一个缓存,这个缓存称为----库缓存

 C库缓存的特点:

  1. 遇到\n 时,会将库缓存的内容写到内核缓存中,即调用了系统调用函数。
  2. 库缓存写满时,会调用系统调用函数,将库缓存内容写到内核缓存中。1024
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值