一、文件描述符
所有的打开的文件由文件描述符引用, 一个非负整数。
0 一般代表标准输入,1一般代表标准输出, 2代表标准出错输出
二、open
int open(const char *pathname, int flag,... ) ;pathname 打开或创建的文件名
flag ::
3选1• 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 使每次w r i t e都等到物理I / O操作完成。三、create
int creat(const char *pathname, mode_tmode) ;
此函数等效于:open( pathname, O_WRONL|O_CREAT| O_TRUNC,mode) ;
四、close
int close (int fd)关闭一个文件时也释放该进程加在该文件上的所有记录锁当一个进程终止时,它所有的打开文件都由内核自动关闭。很多程序都使用这一功能而不显式地用close关闭打开的文件。->剩余9997小时30分钟
新闻热点
疑难解答