linux环境编程:Linux文件i/o编程之open和openat函数

文章详细介绍了open和openat函数在打开或创建文件时的用法,包括它们的功能、参数解释以及区别。openat函数主要解决了在多线程环境下,每个线程可以有独立的当前目录,避免全局影响。实验部分涉及打开指定目录下的文件、创建新文件以及使用openat打开已存在文件的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相比open,openat允许使用相对目录打开文件

1、函数功能

打开或创建一个文件。

函数原型:

include<sys/stst.h>
#include<fcntl.h>
 
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
 
int openat(int fd, const char *pathname, int flags);
int openat(int fd, const char *pathname, int flags, mode_t mode);
函数的返回值:若成功,返回文件描述符; 若出错,返回-1
文件描述符:
当打开或创建文件时,内核将向进程返回一个非负整数表示的文件描述符。

函数参数:


pathname:要打开的文件名

flags参数:必选项

O_RDONLY    只读打开
O_WRONL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值