linux标准IO的介绍与使用

标准IO:
遵循ANSI C标准 即fopen fclosse fread…用于对二进制文件和文本文件的操作
特点:
通过缓冲机制减少系统调用,实现更高的读写效率
在内存中开辟缓冲区,每次系统调用读取一大块数据放入缓冲区内,通过对缓冲区的读写,
降低系统调用的频率,当缓冲区空了 或者满了,再进行下一次的系统调用
系统调用:
1.有操作系统的情况下,应用程序访问硬件必须通过操作系统提供的系统调用接口来完成
2.不同操作系统的系统调用接口不兼容
3.不同操作系统所支持的文件类型是不同的:比如管道,套接字,链接文件 在windows都不支持
流:
FILE 的结构体,用于存放打开的文件的相关信息
流分类:
二进制流:换行符 = ‘\n’
文本流:换行符 = ‘\r\n’
两者的区别是对于回车的处理 在windows区分二进制流和文本流文件 在linux中则不区分 统一用’\n’即用一个字符处理
缓冲类型:
1.全缓冲:
文件fopen后,默认就是全缓冲,当流的缓冲区无数据或无空间时,才执行的io操作
文件在读写模式下分别建立读缓冲和写缓冲,当读缓冲数据读完后再次触发系统调用,从
磁盘内读取下一批数据,当写缓冲被写满时,触发系统调用,将缓冲区写入磁盘内,写缓冲就空了
2.行缓冲:
按行进行的输入输出
在对流文件执行输入输出时遇到’\n’,进行io操作
当流的终端关闭时,典型的流缓冲
3.无缓冲:
数据直接输出࿰

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值