C库函数常用的有:fopen, fclose, fread, fwrite, fgets, fputs, fscanf, fprintf, fseek, fgetc, fputc, ftell, feof, flush等,
当使用fopen打开一个文件时通常返回一个文件指针 FILE *fp。FILE类型是一个结构体,包含文件描述符(整形值)、文件读写指针位置、I/O缓冲区(内存地址)。
虚拟地址空间,Linux为每一个运行的程序(进程),操作系统都会为其分配一个0~4G的地址空间(虚拟地址空间)。0~3G为用户段,3~4G为内核段。内核段中用户不能进行读写,其中包含一个PCB(进程控制块),块中包含一个文件描述符表,从0~1023。其中0为标准输入,1为标准输出,2为标准错误。进程总是使用
较小的文件描述符