C 语言 fclose() 函数

2025 年 1 月 7 日 | 阅读 3 分钟

fclose() 是用于关闭已打开的文件的函数。关闭文件很重要,可以释放与之关联的资源,并确保将任何待处理的数据正确刷新到文件中。fclose() 函数是标准C库stdio.h的一部分。

fclose() 函数的语法

它具有以下语法:

应传递给函数的参数是

一个指向 FILE 对象的指针,该对象表示您要关闭的文件。

函数返回的返回值是

  • 如果文件成功关闭,fclose() 返回零 (0)
  • 如果在关闭文件时发生错误,则返回非零值

说明fclose() 函数的示例

首先,我们创建一个名为 inputfile.txttxt文件打开和关闭一个文件。之后,我们将一些信息存储在文本文件中。现在inputfile.txt将显示如下

fclose() function in C

示例 1

让我们来看一个打开文件和关闭文件的程序

输出

fclose() function in C

说明

  • 代码首先包含标准输入输出库头文件h。此头文件包含输入输出操作所需的函数和声明。
  • 程序定义了main() 函数,它是程序的入口点。
  • 声明了一个名为 filepointerFILE* 类型变量。该变量将用于处理文件并跟踪其属性。
  • 使用 fopen() 函数以只读模式 ("r") 打开名为 "inputfile.txt" 的文件。它返回一个指向 FILE 结构的指针,该结构代表已打开的文件。如果文件因任何原因无法打开(例如,文件不存在或权限问题),fopen()将返回 NULL。在这种情况下,使用 perror() 打印错误消息,并以返回码 1 退出程序,表示错误
  • 代码进入一个while 循环,该循环一直持续到达到文件末尾 (EOF)。在循环内部,它使用 fgetc() 函数从文件中读取每个字符,并将其存储在字符变量中。之后,它使用 putchar() 将字符打印到标准输出。此过程一直持续到达到文件末尾。
  • 在完成所有文件操作后(循环已读取整个文件),代码使用 fclose() 函数关闭文件。此步骤对于释放与文件关联的任何资源并确保文件的正确处理至关重要。
  • 与打开文件一样,代码检查 fclose() 的返回值。如果 fclose() 返回非零值,则表示关闭文件时出错。在这种情况下,使用 perror() 打印错误消息,并以返回码 1 退出程序。

示例 2

让我们再举一个例子来说明 fclose() 函数

输出

fclose() function in C

说明

  • 它使用 fopen() 函数以只读模式打开文件 "inputfile.txt"
  • 它检查文件是否成功打开。如果 fopen() 返回 NULL,则表示错误,并使用 perror() 打印错误消息。之后,程序以返回码 1 退出,表示发生错误
  • 成功打开文件后(假设打开文件时未发生错误),它会立即使用 fclose() 关闭文件。
  • 它检查 fclose() 的返回值,以确保文件已正确关闭。如果 fclose() 返回非零值,表示关闭文件时出错,则会打印错误消息,并以返回码 1 退出程序。