14.3 stdio.h

“stdio.h”标准头中主要包括与程序输入输出有关的数据类型的定义、表示特定含义的一些符号常量(宏)以及相关的函数原型。

14.3.1 数据类型

“stdio.h”定义了下面几种数据类型。

size_t:和前面讨论过的一样,不再赘述。

FILE:用于控制流的一种对象类型。

fops_t:用于描述大文件的访问位置。

14.3.2 宏

EOF:当流中不再有数据时,某些函数的返回值。

NULL:在前面讲过,不再赘述。

_IOFBF,_IOLBF,_IONBF:用于设置I/O的缓冲模式,分别表示“全缓冲”、“行缓冲”和“无缓冲”。

BUFSIZ:用于设置缓冲区的空间。

FOPEN_MAX:容许程序打开文卷的最大数目。标准规定这个数必须不小于80

FILENAME_MAX:指示fopen()函数所容许的最长文件名。

L_tmpnam:用于存储临时文件名的char数组的最小尺寸。

SEEK_CUR、SEEK_END、SEEK_SET:在前面讲过,不再赘述。

TMP_MAX:tmpnam()函数最多能生成多少个文件名。

此外,在“stdio.h”中还给出了3个类似对象的宏,如下所示。

14.3 stdio.h - 图1

这3个宏都是“FILE*”类型,分别与“标准错误流”、“标准输入流”以及“标准输出流”相关联。

14.3.3 函数

大体上,“stdio.h”中描述的函数有3类,其主要作用如表14-1、表14-2、表14-3所示。

表14-1 关于文件操作的函数

14.3 stdio.h - 图2

1 实际上是使文件失去了名字,当然这样它也就不是文件了。

表14-2 关于缓冲区的操作

14.3 stdio.h - 图3

表14-3 关于输入输出的操作

14.3 stdio.h - 图4

1 参数类型有点小差别,以下的“基本相同”皆此含义。

在“stdio.h”中还描述了宽字符的输入输出,这些在“wchar.h”中同样做了描述。本书在后面讲述这些函数。