一.文件描述符
对于内核而言,所有打开的文件、设备、网络socket都是通过文件描述符引用,文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时,使用open或creat返回的文件描述符表示该文件,将其作为参数床给read或write。
应用程序运行的时候,系统将会为该进程默认打开三个文件描述符:
标准输入:STDIN_FILENO (0)
标准输出:STDOUT_FILENO (1)
标准出错:STDERR_FILENO (2)
文件描述符的变化范围是:0~OPEN_MAX-1 (OPEN_MAX-1这边可以修改)
注:write()是系统调用函数,不需要头文件,1表示标准输出(屏幕)
二.函数open()
int open(const char *path,int oflag,.../*m