Linux open函数
时间: 2024-01-08 21:02:45 浏览: 133
Linxu中的系统调用函数—open函数(详解)
open函数是Linux操作系统中的一个系统调用函数,用于打开或创建一个文件。它的原型如下:
```
#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);
```
第一个参数是文件路径名,第二个参数是打开文件的标志,第三个参数是文件的访问权限(仅在创建新文件时使用)。
常见的打开文件标志有:
- O_RDONLY:只读模式打开文件;
- O_WRONLY:只写模式打开文件;
- O_RDWR:读写模式打开文件;
- O_CREAT:如果文件不存在,则创建文件;
- O_TRUNC:如果文件存在,则将其长度截短为0;
- O_APPEND:将数据附加到文件尾部;
- O_EXCL:与O_CREAT一起使用,如果文件已经存在,则open失败。
例如,以下代码将以读写模式打开名为“example.txt”的文件:
```
int fd = open("example.txt", O_RDWR);
```
如果文件不存在,则可以使用以下代码创建一个新文件:
```
int fd = open("example.txt", O_CREAT | O_RDWR, 0644);
```
其中mode_t为文件权限,0644表示所有者具有读写权限,其他用户只有读取权限。
阅读全文