Linux 文件编程 open函数

open函数的功能是打开或创建文件,下面介绍函数所需的头文件、函数原型

open函数所需头文件

#include <sys/types.h>
#include <sys/stat.h>
#include <fcnl.h>

open函数原型,其中参数pathname是要创建或者打开的文件的路径,flags用来标识打开方式

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

 

第一组(打开方式)说明第二组(其他)说明
O_RDONLY以只读方式打开O_CREAT需要创建新文件时加上这个参数
O_WRONLY以只写方式打开O_EXCL此参数课测试文件是否存在。若文件存在时而使用了O_CREAT和O_EXCL,那么返回值为-1,errno的值为17,对应的错误描述则是File Exist
O_RDWR以可读可写方式打开O_APPEND每次进行写入操作时,将新内容追加到文件尾部
O_TRUNC每次进行写入操作时,先将文件内容清空,再将文件指针移到文件头

 两组参数之间用“|”连接

需要打开一个文件时,用第二个函数

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>

int main()
{
        int fd;
        fd = open("./file1",O_RDWR);
        printf("fd = %d\n",fd);

        return 0;
}
     

当当前路径没有改文件时,就需要创建一个文件 

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>

int main()
{
        int fd;
        fd = open("./file1",O_RDWR);

        if(fd == -1){
                printf("open file1 fail!!\n");
                fd = open("./file1",O_RDWR|O_CREAT,0600);
                if(fd > 0){
                printf("create file1 success!!!\n");
                }
        }

        return 0;
}

权限类型分为三种:读(r)、写(w),执行(x),对应的加权值分别为4、2、1。代码中的0600,6=4+2;即表示创建的文件为可读可写不可执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值