类型
<cstdio>

FILE

包含用于控制流的信息的对象
标识流并包含控制流所需信息的对象类型,包括指向其缓冲区的指针、其位置指示符及其所有状态指示符。

FILE 对象通常通过调用 fopentmpfile 来创建,这两个函数都会返回一个指向这些对象的指针。

<cstdio><cwchar> 头文件函数之外不应访问 FILE 对象的内容;事实上,可移植程序应仅以指针形式使用它们来标识流,因为对于某些实现,即使指针本身的值也可能对标识流很重要(即,指向FILE对象副本的指针可能会被解释为与指向原始对象的指针不同)。

其内存分配是自动管理的:它由 fopentmpfile 分配,当流使用 fclose 关闭或程序正常终止时,由库负责释放资源。

包含 <cstdio> 头文件后,会自动创建三个此类型的对象,并声明指向它们的指针:stdinstdoutstderr,它们分别与标准输入流、标准输出流和标准错误流相关联。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* FEOF example */
#include <stdio.h>

int main()
{
   FILE * pFile;
   char buffer [100];

   pFile = fopen ("myfile.txt" , "r");
   if (pFile == NULL) perror ("Error opening file");
   else
   {
     while ( ! feof (pFile) )
     {
       if ( fgets (buffer , 100 , pFile) == NULL ) break;
       fputs (buffer , stdout);
     }
     fclose (pFile);
   }
   return 0;
}

本示例读取名为myfile.txt的文本文件的内容,并将其发送到标准输出流。

另见