<Linux>文件描述符

引出int open(constchar*pathname,intflags,mode_t mode)系统调用函数,通过open函数打开和操作文件
第一个参数 pathname 是文件的路径名,第二个参数为打开文件方式,第三个参数为文件的权限
函数的返回值是文件描述符数组的下标←(点击直接跳转到详解)。


这里第二个参数种打开文件的方式

必选参数

必选参数功能
O_RDONLY只读方式打开
O_WRONLY只写方式打开
O_RDWR读写方式打开

必选参数

可选参数功能
O_CREAT文件不存在时则创建
O_APPEND追加方式打开
O_TRUNC以截断方式打开

打开文件方式可以用 或"|"的方式构成多种条件
如:O_WRONLY | O_CREAT 可以读方式打开文件,并且在文件不存在时创建


第三个参数为文件权限,文件权限时以二进制方式表示的文件读写权限,不多介绍

  1 #include <stdio.h>                                                                                                                                                                     
  2 #include <fcntl.h>
  3 
  4 int main()
  5 {
  6   int fd = open("temp.txt",O_RDWR|O_CREAT);
  7   if(fd<0)
  8   {
  9     perror("open");
 10     return 0;
 11   }
 12   printf("fd=[%d]\n",fd);
 13   return 0;
 14 }

输出 fd=[3]

这里能看出当前打开的文件标识符下标为 3.


文件描述符

在这里插入图片描述

在这里插入图片描述
通过查看当前pid查看当前文件描述符的信息,我们可以看到,前三位,已经被标准输入(stdin),标准输出(stdout),标准错误(stderror)占用。而我们打开的temp.txt
在数组下标为3 的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值