文件I/O
前言
unix系统发多数文件I/O只用到了5个函数:open、read、write、lseek以及close
术语“不带I/O的缓冲”指的是每个read和write都调用内核中的一个系统调用(内核调用)
文件描述符
对于内核而言,所有打开的文件都通过文件描述符
- 当打开现有文件或者创建新文件的时候,内核向进程返回一个文件描述符
- 当读、写一个文件的时候,使用open或者creat返回的文件描述符作为参数传给read或者write
- 文件描述符0表示与进程的标准输入关联(符号常量:STDIN_FILENO)
- 文件描述符1表示与标准输出关联(符号常量:STDOUT_FILENO)
- 文件描述符2与标准错误关联(符号常量:STDERR_FILENO)
文件描述符的变换范围是0~OPEN_MAX-1