【linux系统编程】open函数

1、位置

在命令行下输入 man 2 open

 2、函数原型

int open(const char *pathname, int flags);
    参数:
        pathname:欲打开文件路径
        flags:文件打开方式 (#include <fcntl.h>) 
            O_RDONLY, O_WRONLY, O_RDWRO_RDONLY|O_WRONLY|O_RDWR	
            O_CREAT|O_APPEND|O_TRUNC|O_EXCL|O_NONBLOCK ....
    返回值:
        成功。打开文件所得到的文件描述符(整数)
        失败。-1.设置errono

int open(const char *pathname, int flags, mode_t mode);
       参数:
        pathname:欲打开文件路径
        flags:文件打开方式 (#include <fcntl.h>)
            O_RDONLY, O_WRONLY, O_RDWRO_RDONLY|O_WRONLY|O_RDWR	
            O_CREAT|O_APPEND|O_TRUNC|O_EXCL|O_NONBLOCK ....
        mode:参数3使用的前提,参数2指定了O_CREAT,取8进制,用来描述文件的访问权限 rwx 0664。
                创建文件最终权限 = mode & ~umask
    返回值:
        成功。打开文件所得到的文件描述符(整数)
        失败。-1.设置errono

open常见错误:

1、打开文件不存在

以打开不存在文件为例:

 执行该代码,结果如下

2 以写方式打开只读文件(权限问题)

 3、以只写方式打开目录

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值