UNIX系统 ---- 文件I/O
一、文件描述符 对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开一个现存文件或创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时,用open或creat返回的文件描述符标识该文件,将其作为参数传送给read或write。 二、open函数 调用open函数可以打开或创建一个文件。 int open ( const char * pathname , int oflag , . . . , /*mode_t mode8/ ); pathname是要打开或创建的文件的名字。 oflag参数可用来说明此函数的多个选择项。 O_RDONLY 只读打开。 O_WRONLY 只写打开。 O_RDWR 读、写打开。 O_APPEND 每次写时都加到文件的尾端。 O_CREAT 若此文件不存在则创建它。 O_EXCL 如果同时指定了O_CREAT,而文件已经存在,则出错。 O_TRUNC 如果此文件存在,而且为只读或只写成功打开,则将其长度截短为 0。 O_NOCTTY 如果pathname指的是终端设备,则不将此设备分配作为此进程的控制终端。 O_NONBLOCK 如果pathname指的是一个FIFO、一个块特殊文件或一个字符特殊文件,则此选择项为此文件的本次打开操作和后续的I/O操作设置非阻塞方式。 O_SYNC 使每次write都等到物理I