1. 文件描述符

内核用以标识一个特定进程正在访问的文件.

2. 标准输入, 标准输出和标准错误

每当运行一个新程序时, 所有的 shell 都为其打开3个文件描述符:

  • stdin
  • stdout
  • stderr

重定向:

  1. $ ls > file.list

3. 不带缓冲的 I/O

  • open
  • read
  • write
  • lseek
  • close
  1. $ ./a.out > data # 输出重定向
  2. $ ./a.out < infile > outfile # 输入, 输出重定向

反过来说更容易理解: 重定向输入, 输出, 错误.

4. 标准 I/O

标准 I/O 为不带缓冲的 I/O 提供了带缓冲的接口.

  • 不必考虑最佳缓冲区大小

常见函数:

  • printf

包含了所有标准 I/O 函数的原型.