文件的打开与关闭 open和close
文件的打开指的是从磁盘中找到一个文件,返回一个整形的打开文件顺序的编号。打开的文件处于可读、可写状态。文件的关闭指的是释放打开的文件,是文件处于不可读写的状态。
打开文件函数open
函数open的作用是打开一个文件,是文件处于可读写的状态,这个函数的使用方法如下:
int open(char *pathname , int flags);
int open(char *pathname , int flags , mode_t mode);
pathname 表示打开文件的路径字符串,参数flags是系统定义的一些整形常数,表示文件的打开方式。Flags的值如下:
O_RDONLY:以只读方式打开文件。
O_WRONLY:以只写方式打开文件。
O_RDWR:以读写方式打开文件。
上面三种旗标是互斥的,不可以同时使用,但可以与下面旗标利用“|”运算符组合。
O_CREAT:若要打开的文件不存在则自动创建文件。
O_EXCL:如果EXCL被设置,此指令回去检查文件是否存在。文件若不存在则建立该文件。此外,若O_CREAT与O_EXCL同时设置时,如果要打开的文件为一个链接,则会打开失败。
O_NOCTTY:如果要打开的文件为终端机的设备时,则不会将该终端机当成进程控制终端机。
O_TRUNC:若文件存在并且以可写的方式打开时,此标志会清空文件。这样原来的文件内容会丢失。
O_APPEND:以附加的文件打开文件。当读写文件时会从文件尾开始向后移动,写入的数据会以附加的方式写入到文件的后面。
O_NONBLOCK:以不可阻断的方式打开文件,无论文件有无数的数据读取或等待操作,都会立即打开文件。
O_NDELAY:O_NONBLOCK。
O_SYNC:已同步的方式打开文件,所有的文件操作不写入到缓存。
O_NOFOLLOW:如果参数pathname所指的文件为一符号链接,则会打开失败。
O_NOCTTY:如果参数pathname所指的文件的目录不存在,则打开文件失败。
原文:http://www.cnblogs.com/King-Penguin/p/5249272.html