跳转到内容

C 编程/stdio.h/fclose

来自维基教科书,开放的书籍,面向开放的世界

fclose 是一个属于 ANSI C 标准库的 C 函数,包含在 stdio.h 文件中。它的作用是关闭一个流以及与它相关联的所有结构。通常该流是一个打开的文件。fclose 具有以下原型

int fclose(FILE *file_pointer)

它接受一个参数:指向要关闭的流的 FILE 结构的指针,例如::fclose(my_file_pointer) 这行代码调用 fclose 函数来关闭 my_file_pointer 指向的 FILE 流结构。

返回值是一个整数,具有以下含义

  • 0 (零):流已成功关闭;
  • EOF:发生错误;

可以通过读取 errno 来检查错误。如果 fclose 尝试关闭当前未分配给文件的文件指针,则其行为未定义 - 在许多情况下,这会导致程序崩溃。

它通常是 close (系统调用) 的包装器。

示例用法

[编辑 | 编辑源代码]
 #include <stdio.h>

 int main(void) 
 {
   FILE *file_pointer;
   int i;
 
   file_pointer = fopen("myfile.txt", "r");
   fscanf(file_pointer, "%d", &i);
   printf("The integer is %d\n", i);
   fclose(file_pointer);
   
   return 0;
 }

上面的程序打开一个名为 myfile.txt 的文件,并在其中扫描一个整数。

华夏公益教科书