FILE
type <cstdio>
对象,该对象包含控制流的信息
对象类型,用于标识流并包含控制流所需的信息,包括指向其缓冲区的指针、其位置指示器和所有状态指示器。
FILE对象通常是通过调用
fopen或
tmpfile创建的,这两种方法都返回指向其中一个对象的指针。
FILE对象的内容并不意味着要从<
cstdio>
和<
cwchar>头文件函数的外部访问;事实上,
可移植程序应当只使用指针来识别流的形式,因为一些实现,甚至指针本身的值可能是重要的识别流
(例如,指针指向文件对象的一个副本可以解释不同于原来的指针)。
它的内存分配是自动管理的:它由
fopen或
tmpfile分配,
一旦使用
fclose关闭流或程序正常终止,平台就负责释放资源。
在包含<
cstdio>头文件时,会自动创建三个这种类型的对象,
并声明指向它们的指针:
stdin、
stdout和
stderr,它们分别与标准输入流、标准输出流和标准错误流关联。
☣ 示例
/* FEOF example */
#include <tdio.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的文本文件的内容,并将其发送到标准输出流。
🍄 另请参阅