open函数--Linux文件管理之文件IO(一)

头文件

#include<fcntl.h>

功能

打开或创建文件(建立一个文件描述符,read、write函数需要通过文件描述符对指定文件进行读取与写入的操作)

函数原型

int open(const char*pathname,int flags,mode_t mode);

参数说明

1、pathname: 要打开或创建的目标文件

2、flags: 用来说明此函数的多个功能选项,常用的选项如下所示:

O_RDONLY: 只读打开

O_WRONLY: 只写打开

O_RDWR: 读,写打开

这三个常量,必须制定一个且只能指定一个

O_CREAT: 若文件不存在,则创建它,需要使用mode选项,mode说明文件的访问权限(读、写、执行)。

O_APPEND: 追加写,如果文件已经有内容,这次打开文件所 写的数据附加到文件的末尾而不覆盖原来的内容

返回值

失败:-1

成功:文件描述符,依次打开的文件描述符的值是依次增加的,从0开始依次增加

示例

#include<stdio.h>
#include<fcntl.h>

void usage(void)
{
    printf("./open cmd\n"
            "cmd:0 read only\n"
            "cmd:1 write only\n"
            "cmd:2 read and write\n"
            "cmd:3 create file\n"
            "cmd:4 append write\n");
}

int main(int argc,char **argv)
{
    int ret = -1, cmd = -1, data = -1, fd = -1;

    cmd = atoi(argv[1]);

    switch(cmd){
    case 0:
        fd = open("test",O_RDONLY);
        break;
    case 1:
        fd = open("test",O_WRONLY);
        break;
    case 2:
        fd = open("test",O_RDWR);
        break;
    case 3:
        fd = open("test",O_CREAT,0777);
        break;
    case 4:
        fd = open("test",O_APPEND);
        break;
   default:
       usage();
       break;
    }
    close(fd);
    return 0;
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值