linux输出流文件描述符,Linux下 文件描述符(fd)与 文件指针(FILE*)

1、文件描述符(fd)

咱们都知道在Linux下一切皆文件。固然设备也不例外,若是要对某个设备进行操做,就不得不打开此设备文件,打开文件就会得到该文件的文件描述符fd( file discriptor), 它就是一个很小的整数,每一个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每一个表项都有一个指向已打开文件的指针。

c7736cbde000c749c1ece54743ec2266.png 

图中文件描述符即为文件描述符数组的下标

文件描述符的分配规律:从当前未使用的最小的整数开始分配;

文件描述符的缺点:

不能移植到UNIX之外的系统上去,也不直观。数组

举一个系统函数的例子:ssize_t write ( int fd, const void *buf, size_t count);

write: 是系统写函数 fd: 文件描述符 (一个整数) *buf: 内容写在哪里 count: 一次写多少个;缓存

归纳:

每个进程在PCB(Process Control Block)即进程控制块中都保存着一分文件描述符表,文件描述符就是这个表的索引,文件描述符表中每一个表项都有一个指向已打开文件的指针。如今咱们明确一下:已打开的文件在内核中用file结构体表示,文件描述符表中的指针指向file结构体。函数

fd详解

fd:为打开文件的文件描述符,

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值