标准I/O库
标准I/O库(C标准库中的 stdio.h)是Unix系统I/O的高级封装,提供了带缓冲的、更易用的文件读写接口。
核心函数:
- 打开/关闭:
fopen/fclose,返回FILE*流指针。 - 格式化输入:
scanf/fscanf/sscanf。 - 格式化输出:
printf/fprintf/sprintf。 - 逐字符读写:
fgetc/fputc。 - 逐行读写:
fgets/fputs。 - 二进制读写:
fread/fwrite(与RIO包的无缓冲版本类似,但使用标准I/O的缓冲区)。
缓冲机制:
- 标准I/O库在用户空间维护缓冲区,减少系统调用次数。
- 全缓冲:缓冲区满才刷新。用于普通文件。
- 行缓冲:遇到换行符刷新。用于终端设备。
- 无缓冲:立即写入。如
stderr通常是无缓冲的。
刷新条件:
- 遇到换行符(行缓冲模式)。
- 显式调用
fflush函数。 - 调用
fclose或exit退出程序。
标准I/O的便捷性使其成为大多数普通文件操作的首选,但在某些场景下需要用系统I/O。
链接到
- 上一个知识点:10.12 dup重定向
- 下一个知识点:10.14 系统I_O与标准I_O对比