非常教程

C参考手册

文件输入/输出 | File input/output

fclose

在头文件<stdio.h>中定义

int fclose(FILE * stream);

关闭给定的文件流。任何未写入的缓冲数据将刷新到操作系统。任何未读取的缓冲数据都将被丢弃。

无论操作是否成功,数据流不再与文件关联,并且如果使用自动分配,则由setbuf或分配的缓冲区setvbuf也会被解除关联并解除分配。

如果指针的值streamfclose返回后使用,则行为未定义。

参数

-

文件流关闭

返回值

​0​ on success, EOF otherwise.

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    FILE* fp = fopen("test.txt", "r");
    if(!fp) {
        perror("File opening failed");
        return EXIT_FAILURE;
    }
 
    int c; // note: int, not char, required to handle EOF
    while ((c = fgetc(fp)) != EOF) { // standard C I/O file reading loop
       putchar(c);
    }
 
    if (ferror(fp))
        puts("I/O error when reading");
    else if (feof(fp))
        puts("End of file reached successfully");
 
    fclose(fp);
}

参考

  • C11标准(ISO / IEC 9899:2011):
    • 7.21.5.1 fclose函数(p:304)
  • C99标准(ISO / IEC 9899:1999):
    • 7.19.5.1 fclose函数(p:270)
  • C89 / C90标准(ISO / IEC 9899:1990):
    • 4.9.5.1 fclose函数
C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。