嵌入式应用编程学习-文件IO打开


一、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, mode_t mode);

pathname:字符串类型,用于标识需要打开或创建的文件,可以包含路径(绝对路径或相对路径)信息。
flags:调用 open 函数时需要提供的标志,包括文件访问模式标志以及其它文件相关标志。

open 函数 flags 参数值介绍
标志用途
O_RDONLY以只读方式打开文件
O_WRONLY以只写方式打开文件
O_RDWR以可读可写方式打开文件
O_CREAT如果 pathname 参数指向的文件不存在则创建此文件
O_EXCL此标志一般结合 O_CREAT 标志一起使用,用于专门创建文件。

mode:此参数用于指定新建文件的访问权限,只有当 flags 参数中包含 O_CREAT 或 >O_TMPFILE 标志时才有效(O_TMPFILE 标志用于创建一个临时文件)。

open 函数文件权限宏
宏定义备注
S_IRUSR允许文件所属者读文件
S_IWUSR允许文件所属者写文件
S_IXUSR允许文件所属者执行文件
S_IRWXU允许文件所属者读、写、执行文件
S_IRGRP允许同组用户读文件
S_IROTH允许其他用户读文件

二、open 函数使用示例

1.使用 open 函数打开一个已经存在的文件,使用只读方式打开

int fd = open("./test.c", O_RDONLY)
if (-1 == fd)
return fd;

2.使用 open 函数打开一个已经存在的文件,使用可读可写方式打开

int fd = open("./app.c", O_RDWR)
if (-1 == fd)
return fd;

3.使用 open 函数打开一个指定的文件,如果该文件不存在则创建该文件,创建该文件时,将文件权限设置如下:文件所属者拥有读、写、执行权限;同组用户与其他用户只有读权限。使用可读可写方式打开:

int fd = open("/home/linux/test", O_RDWR | O_CREAT, S_IRWXU | S_IRGRP | S_IROTH);
if (-1 == fd)
return fd;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值