9.1.2 文件的关闭
可以使用 fclose 函数来关闭一个文件,该函数原型如下:
int fclose(FILE *stream);
fclose 函数只有一个参数 stream,是 FILE 结构体类型的指针,表示一个文件流。fclose 函数的功能就是将该参数所指定的文件流关闭。函数的返回值为 int 类型,当函数执行成功,返回整型值 1,当函数执行失败,返回一个 EOF。EOF 是一个宏的名字,是“End of file”(文件终点)的首字母缩写,它表示一个非零值,通常被定义为–1。
我们可以将 fopen 函数所返回的文件流作为实参,调用 fclose 函数,以关闭与该文件流相关联的文件。例如:
代码中,首先通过 fopen 函数打开 D 盘的 test.txt 文件,并返回与该文件相关联的输入流,然后通过 if 语句对文件流 pfile 进行检查,若文件流 pfile 是正常、可用的,则执行大括号中的语句;若文件流是不可用的,则执行 else 部分,打印输出文件打开失败的信息。
在大括号中,首先通过 printf 函数打印文件打开成功的信息,然后再次使用 if…else 语句。在小括号内的条件表达式中,将文件流 pfile 作为实参调用 fclose 函数,这会将与文件流 pfile 相关联的文件 test.txt 关闭。如果关闭成功,则 fclose 函数的返回值为 0,由于前面使用了逻辑非运算符,因此,小括号内的表达式的值为真,这会通过 printf 函数在控制台窗口打印文件关闭成功的信息;若文件关闭失败,fclose 函数的返回值为 EOF,通过逻辑非运算符转换,小括号内表达式的结果为假,就会执行 else 部分,打印文件关闭失败的信息。
由于之前已经在 D 盘上创建了 test.txt 文件,因此,编译运行程序,会得到如下结果:
File opened successfully. File closed successfully.
若将 D 盘上的 test.txt 文件删除,并重新运行该程序,则会得到如下结果:
Failed to open file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论