c库函数举例:
fopen、fclose、fread、fwrite、fgets、fputs、fscanf、fprintf.......
FILE *fp 文件指针。
FILE 实际是一个机构体,FILE的内容:
文件描述符。——索引到对应磁盘的位置
文件读写指针位置。——读写文件过程中指针的实际位置
I/O缓冲区(内存地址)。——通过寻址地址找到对应的内存块(减缓对磁盘操作的次数)
缓存中的数据刷新到硬盘上
<1> 刷新缓冲区fflush
<2> 缓冲区已满
<3> fclose、main函数中的return、main函数中的exit
文件描述符(程序执行时的虚拟地址空间0-4G(32位))0-3G用户区,3-4G Linux的内核区
PCB进程控制块——文件描述符表(数组)(大小0-1023)每次打开一个文件,就增加一个文件描述符 0-3默认被打开
0 ——STDIN_FILENO 标准输入
1——STDOUT_FILENO 标准输出
2——STDERR_FILENO 标准错误