Содержание | Глава 13

Функция fclose

#include <stdio.h>
int fclose(FILE *stream);

Функция fclose() закрывает файл, связанный с потоком stream, и дозаписывает его буфер. После обращения к функции fclose() элемент stream больше не связан с файлом, и все автоматически выделенные буфера освобождаются.

При успешном выполнении функция fclose() возвращает нуль; в противном случае возвращается значение EOF. Попытка закрыть уже закрытый файл расценивается как ошибка. В случае прекращения доступа к носителю данных до закрытия файла, как и при недостатке свободного пространства на диске, будет сгенерирована ошибка.

Пример

Следующая программа открывает и закрывает файл.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  FILE *fp;

  if((fp=fopen("test", "rb"))==NULL) {
    printf("He удается открыть  файл.\n");
    exit(1);
  }

  if(fclose(fp)) printf("Ошибка при закрытии файла.\n");

  return 0;
}

Зависимые функции

fopen() freopen() fflush()
Содержание | Глава 13