标准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 函数。
  • 调用 fcloseexit 退出程序。

标准I/O的便捷性使其成为大多数普通文件操作的首选,但在某些场景下需要用系统I/O。

链接到