文件IO和标准IO的区别与关系

文件IO和标准IO的区别

1.文件IO遵循POSIX标准,只能在遵循POSIX标准的类UNIX环境下使用;标准IO遵循ANSI标准,只要重新编译即可在不同的环境中运行。

2.文件IO属于系统调用,可移植性差;标准IO属于C库,可以在不同的操作系统下移植。

3.文件IO使用文件描述符;标准IO使用文件流指针。

4.文件IO不带缓冲,执行效率较低;标准IO带缓冲,执行效率较高。

5.文件IO属于系统调用,可以访问不同类型的文件,如普通文件,设备文件,管道文件,套接字文件等;标准IO属于C库只能访问普通文件。

注: 缓冲区,相当于一块内存,文件IO不存在缓冲区,所以每次向硬盘写入一个字符,都会经过
VFS->文件系统->驱动->硬盘;
但是标准IO存在缓冲区,它的写入方式是,先将所有字符保存至一块内存然后一起经过VFS->文件系统->驱动->硬盘。
所以标准IO执行VFS->文件系统->驱动->硬盘仅使用一次,而文件IO每一次写入都需要经历一次。故而标准IO的速度是要快的。(标准IO操作可以想象想一下文本的保存Ctrl+S).

文件IO和标准IO的关系

1.标准IO是基于文件IO并在其基础上进行了封装设置了不同类型的缓冲区实现的。

2.Linux使用GLIBC函数库,即GNU的C函数库,即包含了POSIX标准又包含了ANSI标准。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值