文件和流
程序通过读取和写入文件来与目标环境进行通信。 文件可以是:
可重复读取和写入的数据集。
程序生成的字节流(如管线)。
从外围设备接收或发送到外围设备的字节流。
最后两项是交互式文件。 文件通常是用来与程序进行交互的主要手段。 操作所有这些类型的文件的方式大致相同:就是通过调用库函数。 您包括标准标头 STDIO.H 来声明其中的大多数函数。
必须先打开文件,然后才能对该文件执行许多操作。 打开文件会将其与流、标准 C 库(屏蔽了各种文件之间的许多差异)中的数据结构关联。 库将维护类型 FILE 的对象中的每个流的状态。
在程序启动前,目标环境将打开三个文件。 可通过将库函数 fopen
, _wfopen
与两个参数一起调用来打开文件。 (fopen
函数已弃用,请改用 fopen_s
, _wfopen_s
。)第一个自变量是文件名。 第二个参数是指定以下内容的 C 字符串:
您是否想从该文件中读取数据和/或将数据写入该文件中。
你是想为文件生成新内容(如果之前不存在文件,则创建文件),还是保留现有内容。
对文件进行写入是否可更改现有内容还是只应在文件尾追加字节。
您是要操作文本流还是二进制流。
一旦成功打开此文件,您就可以确定此流是面向字节的(字节流)还是面向宽度的(宽度流)。 最初,流处于未绑定状态。 调用要对流使用的特定函数可使流成为面向字节的流,而其他函数可使流成为面向宽度的流。 创建后,流将维护自己的方向,直至通过调用 fclose
或 freopen
将其关闭。
© 1989-2001 年,作者 P.J. Plauger 和 Jim Brodie。 保留所有权利。