unix环境高级编程——文件IO
可用的文件IO函数:打开文件,读文件,写文件等(不带缓冲的IO函数(指每个read或write函数都调用内核的一个系统调用)) 不是ISO C的组成部分,但是时POSIX和SUS的组成部分 UNIX系统中常用的文件IO函数:open,read,wirte,lseek,close函数 当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符(非负整数) UNIX的shell把文件描述符0与标准输入关联,文件描述符与标准输出关联,文件描述符2与标准错误输出关联,在POSIX标准中,对应的被替换为符号常量STDIN_FLLENO,SEDOUT_FLLENO,STDERR_FLLENO <unistd,h> 函数open和openat (fcntl.h) int open(const char* path,int oflag,.../*mode_t mode*/); int openat(int fd,const char* path,int oflag,.../*mode_t mode*/); 将最后一个参数写为...,表明余下的参数的数量以及类型是可变的 由open和openat函数返回的文件描述符一定是最小的未用的描述符数值 若path参数指定为绝对路径,fd参数无用,openat函数相当于open函数 path指定的是相对路径