open(打开文件)相关函数read,write,fcntl,close,link,stat,umask,unlink,fopen表头文件#include#include#include定义函数intopen(constchar*pathname,intflags);intopen(constchar*pathname,intflags,mode_tmode);函数说明参数pathname指向欲打开的文件路径字符串
下列是参数flags所能使用的旗标:O_RDONLY以只读方式打开文件O_WRONLY以只写方式打开文件O_RDWR以可读写方式打开文件
上述三种旗标是互斥的,也就是不可同时使用,但可与下列的旗标利用OR(|)运算符组合
O_CREAT若欲打开的文件不存在则自动建立该文件
O_EXCL如果O_CREAT也被设置,此指令会去检查文件是否存在
文件若不存在则建立该文件,否则将导致打开文件错误
此外,若O_CREAT与O_EXCL同时设置,并且欲打开的文件为符号连接,则会打开文件失败
O_NOCTTY如果欲打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机
O_ope若文件存在并且以可写的方式打开时,此旗标会令文件长度清为0,而原来存于该文件的资料也会消失
O_APPEND当读写文件时会从文件尾开始移动,也就是所写入的数据会以附加的方式加入到文件后面
O_NONBLOCK以不可阻断的方式打开文件,也就是无论有无数据读取或等待,都会立即返回进程之中
O_NDELAY同O_NONBLOCK
O_SYNC以同步的方式打开文件
O_NOFOLLOW如果参数pathname所指的文件为一符号连接,则会令打开文件失败
O_DIRECTORY如果参数pathname所指的文件并非为一目录,则会令打开文件失败
此为Linux2
2以后特有的旗标,以避免一些系统安全问题