文件描述符

在这里插入图片描述

每一次打开一个文件时候,这个进程(操作系统进程)内部都会产生一个与文件相对应的一个数据结构,这个结构里面通常存放一些操作这个文件的所有属性,例如文件读取到那个位置,所以里面肯定会有个POS值,当有很多文件打开的时候,自然就会有很多类似的数据结构来存储文件的属性信息,然后,这个所有的数据结构又会全部存放在一个数组里面,每个数组元素的值就是数据文件结构的位置,当然如果有两个操作都打开同一个文件,那么就会有连个不同的索引值,指向同一个文件结构体。而数组的每个元素的位置就叫做“文件描述符”即0,1,2,3,4········

因此,当我们Open()一个文件的时候,就会创建这样类似的一个数据结构,然后上层程序就可以通过文件描述符来找到文件结构体,然后通过文件结构体来操作具体的文件目标。然后这些数据结构什么时候消失呢?就是在我们调用close()方法的时候,就会自动删除这些数据关系,因此,我们在进行IO操作的时候经常要要求进行数据流关闭,其实就是让操作系统删除掉文件描述符对应的这些数据结构。
总结,要想对一个文件进行操作,必须拿到这个文件对应的文件描述符,而这些操作都可以通过调用操作系统API获取。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值