这个函数可以用来打开或创建一个文件,返回一个文件描述符,用于后续的读写操作。open函数的原型是:
- #include
- #include
- #include
- int open(const char *path, int flags, mode_t mode);
path参数是要打开或创建的文件的路径,flags参数是指定文件的打开方式和选项,mode参数是在创建新文件时指定文件的权限。flags参数可以由以下的常量进行或运算组合:
- 以下为必选属性 ,在这五个宏常量属性中必须指定一个且只能指定一个
- O_EXEC: 只执行打开
- O_RDONLY:以只读方式打开文件
- O_WRONLY:以只写方式打开文件
- O_RDWR:以读写方式打开文件
-
- 以下为可选属性 , 可以和上边的属性一起使用。
- O_APPEND:以追加方式打开文件,即每次写操作都在文件末尾进行
- O_CREAT:如果文件不存在则创建它,需要指定mode参数
- O_EXCL:如果文件已经存在则报错,需要和O_CREAT一起使用
- O_TRUNC:如果文件已经存在则截断它,即清空文件内容
- O_NOCTTY:如果文件是一个终端设备,则不将该设备分配为调用进程的控制终端
- O_NOFOLLOW:如果文件是一个符号链接,则不跟随它,而是报错
- O_DIRECTORY:如果文件不是一个目录,则报错