简介
文件IO://常用五大函数:open、read、write、lseek、close,称之为不带缓存的I/O
不带缓存:指的是每个read和write都调用内核中的一个系统调用(用户进程中不缓存,内核还是要缓存的)
按照惯例,UNIX shell使文件描述符0与进程的标准输入相结合,文件描述符 1与标准输出
相结合,文件描述符2与标准出错输出相结合。
在POSIX.1应用程序中,幻数 0、1、2应被代换成符号常数 STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO。这些常数都定义在头文件<unistd.h>中。
OPEN函数
由open返回的文件描述符一定是未使用的最小文件描述符。
CREATE函数
CLOSE函数
关闭一个文件时也释放该进成加在该文件上的所有记录锁。
当一个进程终止时,他所有的打开文件都由内核自动自动关闭。很多程序都使用这一功能而不
显式地用close关闭打开的文件。
LSEEK函数
lseek仅将当前的文件位移量记录在内核内,它并不引起任何 I / O操作。然后,该位移量用
于下一个读或写操作。
文件位移量可以大于文件的当前长度,在这种情况下,对该文件的下一次写将延长该文件,
并在文件中构成一个空调,这一点是允许的。位于文件中但没有写过的字节都被读为 0。