Linux下文件IO详解

学习Linux的同学都知道一句话:Linux下一切皆文件。学会文件基础和文件IO就是步入Linux殿堂重要的几步之一。在学习文件IO之前,我们先要了解一下文件基础和文件IO的定义。

一、文件基础

        文件的概念就是:一组相关数据的有序集合。
        他一共有几种类型:r -- 常规文件  d -- 目录文件  c -- 设备文件  b -- 块设备文件  p -- 管道文件
s -- 套接字文件  l -- 符号链接文件。这里面要特别注意的是管道文件和套接字文件是进程间通讯使用的,可以进行网络通信和本地通信。
        简单的来说:文件就是IO操作的对象!

Linux中有两种操作文件的方法:标准IO和文件IO;接下来将会一一解释:

二、标准IO

        2.1、标准IO介绍       

        标准IO由ANSIC标准定义,是标准C中定义好的一组用来输入输出的API(application program interface);受众方面:标准IO在现在大多数操作系统上都实现了C库,这就使它的使用方法很方便。效率方面:标准IO通过缓冲机制能够减少系统调用,实现更高的效率!具体实现就是在系统APP中开辟一片缓冲区,将要传输的数据集合在一起,当有需要或者满区时才传输。避免了一份数据一传,大大减少了系统调用。

        2.2标准IO - 流

        标准IO的使用离不开流(stream)也叫做FILE。
标准IO中用一个结构体类型(FILE)来存放打开文件的相关信息,标准IO的所有操作都围绕FILE来进行;

        流有三种缓存类型:全缓冲、行缓冲、无缓冲
全缓冲:当流的缓冲区无数据或无空间时才执行实际IO操作,注意:打开的文件默认缓冲为全缓冲
行缓冲:当在输入和输出中遇到换行符'\n'时,才进行IO操作。stdin(标准输入流)、stdout(标准输出流)就是典型的行缓冲。
无缓冲:数据直接写入文件,流不进行缓存。stderr(标准错误流)就是无缓冲流。

上文提到的stdin\stdout\stderr是标准IO预定的三个流,程序运行时会自动打开

        2.3、流的打开和关闭 

        

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

godfatherlzq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值