C++官网参考链接:https://cplusplus.com/reference/cstdio/FILE/
类型
<cstdio>
FILE
包含用于控制流的信息的对象
对象类型,标识流并包含控制流所需的信息,包括指向其缓冲区的指针、其位置指示符和所有状态指示符。
FILE对象通常是通过调用fopen或tmpfile创建的,两者都返回指向这些对象之一的指针。
FILE对象的内容不允许从<cstdio>和<cwchar>头文件的函数外部访问;事实上,可移植程序只能以指针的形式使用它们来标识流,因为对于某些实现来说,甚至指针本身的值对于标识流也很重要(例如,指向FILE对象副本的指针可以与指向原始对象的指针解释不同)。
它的内存分配是自动管理的:它是由fopen或tmpfile分配的,一旦使用fclose关闭流或程序正常终止,库就负责释放资源。
在包含<cstdio>头文件时,自动创建了三个这种类型的对象,并声明了指向它们的指针:stdin、stdout和stderr,分别与标准输入流、标准输出流和标准错误流相关联。
用例
/* 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的文本文件的内容,并将其发送到标准输出流。