控制流

fopen 返回 FILE 类型的对象的地址。 您可以将此地址用作多个库函数的 stream 参数以对打开的文件执行各种操作。 对于字节流,所有输入都是通过调用 fgetc 读取每个字符来进行的。 所有输出都是通过调用 fputc 写入每个字符来进行的。 对于宽流,所有输入都是通过调用 fgetwc 读取每个字符来进行的。 所有输出都是通过调用 fputwc 写入每个字符来进行的。

可以通过调用 fclose 关闭文件,之后,FILE 对象的地址将无效。

FILE 对象存储流的状态,包括:

  • 错误指示器通过遇到读取或写入错误的函数设置非零值。

  • 文件尾指示器通过在读取时遇到文件尾的函数设置非零值。

  • 如果文件可以支持定位请求,则文件位置指示器将在流中指定要读取或写入的下一个字节。

  • 流状态指定流是否将接受读取和/或写入,以及流是未绑定的、面向字节的还是面向宽度的。

  • 转换状态将记住任何部分汇编的或生成的通用多字节字符的状态,以及文件中字节序列的所有移位状态。

  • 文件缓冲区指定数组对象的地址和大小。 库函数可以使用它来提高对流的读写操作的性能。

不要修改存储在 FILE 对象中或指定用于该对象的文件缓冲区中的任何值。 不能复制 FILE 对象,也不能将副本的地址用作库函数的 stream 自变量。

另请参阅

文件和流