文件和流

程序通过读取和写入文件来与目标环境进行通信。 文件可以是:

  • 可重复读取和写入的数据集。

  • 程序生成的字节流(如管线)。

  • 从外围设备接收或发送到外围设备的字节流。

最后两项是交互式文件。 文件通常是用来与程序进行交互的主要手段。 操作所有这些类型的文件的方式大致相同:就是通过调用库函数。 您包括标准标头 STDIO.H 来声明其中的大多数函数。

必须先打开文件,然后才能对该文件执行许多操作。 打开文件会将其与流、标准 C 库(屏蔽了各种文件之间的许多差异)中的数据结构关联。 库将维护类型 FILE 的对象中的每个流的状态。

在程序启动前,目标环境将打开三个文件。 可通过将库函数 fopen, _wfopen 与两个参数一起调用来打开文件。 (fopen 函数已弃用,请改用 fopen_s, _wfopen_s。)第一个自变量是文件名。 第二个参数是指定以下内容的 C 字符串:

  • 您是否想从该文件中读取数据和/或将数据写入该文件中。

  • 你是想为文件生成新内容(如果之前不存在文件,则创建文件),还是保留现有内容。

  • 对文件进行写入是否可更改现有内容还是只应在文件尾追加字节。

  • 您是要操作文本流还是二进制流。

一旦成功打开此文件,您就可以确定此流是面向字节的(字节流)还是面向宽度的(宽度流)。 最初,流处于未绑定状态。 调用要对流使用的特定函数可使流成为面向字节的流,而其他函数可使流成为面向宽度的流。 创建后,流将维护自己的方向,直至通过调用 fclosefreopen 将其关闭。

© 1989-2001 年,作者 P.J. Plauger 和 Jim Brodie。 保留所有权利。

另请参阅

文本和二进制流
字节和宽流
控制流
流状态