open_close函数

open

头文件
使用open函数需要包含

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

函数原型

  • 当文件存在时
int open(const char* pathname, int flags)
  • 当文件不存在时
int open(const char* pathname, int flags, int perms)

返回值

  • 成功:文件描述符
  • 失败:-1

close

头文件

  • #include <unistd.h>

函数原型

int close(int fd) //接收一个文件描述符

返回值

  • 成功:0
  • 失败:-1

应用

创建openclose.c文件

//包含open close函数需要的头文件
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include <stdio.h>

int main()
{
    int fd; //定义文件描述符

    /*  
     * 文件名
     * 文件打开模式(主模式和副模式,可以翻看之前笔记)
     * 文件权限(可省略)
     */
    fd = open("./a.txt", O_RDONLY);//只读模式
    if (fd < 0)
    {   
        printf("open error!\nfd = %d\n", fd);
        close(fd);
        return 1;
    }   
    printf("open succeed!\nfd = %d\n", fd);
    close(fd);
    return 0;
}

在这里插入图片描述

  • 创建a.txt文件

再次运行:
在这里插入图片描述
原因:文件描述符0、1、2系统占用,表示标准输入、标准输出、标准出错。
主模式可以搭配副模式使用,比如当文件不存在时,可以或上第一种副模式,去创建这个文件,

 fd = open("./a.txt", (O_RDONLY | O_CREATE), 0666);//只读模式

文件权限是8进制格式,0表示8进制。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值