首页 > 编程知识 正文

linux下open函数参数,open函数标识符

时间:2023-05-05 14:46:22 阅读:49294 作者:4370

一、open函数用于什么? Linux中通常使用open函数来打开和创建文件。 可以根据参数自定义各种参数,包括所需文件的属性和用户权限。

二、open函数的定义和参数首先看看Linux上open函数的定义

# includesys/types.h # includesys/stat.h # include fcntl.hint open (常数char * pathname,int flags ); intopen (常数char * pathname,int flags,mode_t mode ); 使用open函数时需要添加的头文件,如头文件中所示

#include sys/types.h//其中,类型pid_t和size_t的定义# includesys/stat.h # include fcntl.h的返回值如果open函数的返回值成功,则为缓冲区

参数含义: 1、pathname:open函数的第一个参数pathname是要打开的文件的路径名或文件名。 需要注意的是这个路径名是绝对路径名。文件名则是在当前路径下的。

2、flags: flags参数表示打开文件的操作。 需要注意的是必须指定以下三个常量的一种,且只允许指定一个

O_RDONLY :只读模式O_WRONLY :只读模式O_RDWR :以下常量是可选的,这些选项为和上面的必选项进行按位或起来作为flags参数。

O_APPEND意味着添加,如果原始文件中有内容,则此次写入将写入文件的末尾。 O_CREAT表示如果指定的文件不存在,则创建此文件。 O_EXCL表示如果要创建的文件已存在,则返回-1以生成错误,并更改errno的值。 O_TRUNC表示截断,如果文件存在,并且以只写、只读方式打开,则其长度将截断为0。 如果O_NOCTTY路径名指向终端设备,请不要将此设备用作控制终端。 如果O_NONBLOCK路径名指向FIFO/块文件/字符文件,则以下三个常量也是可选的:打开文件和无阻塞后续I/O模式,用于同步输入和输出

O_DSYNC等待物理I/O结束后再写入。 不影响读取新写入的数据,不等待文件属性的更新。 O_RSYNC read等待向同一区域写入的所有写入操作完成,然后O_SYNC等待物理I/O完成后再写入。 用于更新文件属性的I/O 3、mode: mode参数指示设置文件访问权限的初始值,并与用户掩码umask相关。 例如,0644表示- rw-rr,必须注意的是

http://www.Sina.com/http://www.Sina.com /三、open函数和fopen函数的区分是从源中划分的,这两者区别很好:

open函数是Unix上的系统调用函数,如果操作成功,则返回文件描述符;如果操作失败,则返回-1。

因为fopen是ANSIC标准的c语言库函数,所以在不同系统上调用不同内核的API时,将返回指向文件结构的指针。

另外,open函数中没有缓冲器,fopen函数中有缓冲器,一般open函数与write、fopen函数与fwrite组合使用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。