FCLOSE(3)

НАЗВАНИЕ
fclose - закрывает поток

СИНТАКСИС
#include <stdio.h>

int fclose(FILE *stream);

ОПИСАНИЕ
Функция fclose отделяет указанный поток stream от связанного с ним файла или набора функций. Если поток использовался для вывода данных, то все данные, содержащиеся в буфере, сначала записываются с помощью fflush(3).

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
При успешном завершении возвращается нулевое значение. В противном случае возвращается EOF и в глобальную переменную errno вписывается код ошибки. В любом случае, дальнейшие попытки доступа (включая еще один вызов fclose()) к потоку приведут к неопределенному результату.

НАЙДЕННЫЕ ОШИБКИ

EBADF
    Неверный описатель файла, связанный с потоком stream.

Функция fclose при ошибках может установить errno в значение, соответствующее ошибкам в процедурах close(2) или fflush(3).

ЗАМЕЧАНИЯ
Обратите внимание, что fclose "сбрасывает" буферы: это обеспечивается функциями библиотеки C. Чтобы гарантировать, что данные действительно физически сохранены на диске, буферы ядра также должны быть сохранены, например, с помощью функций sync(2) или fsync(2).

СООТВЕТСТВИЕ СТАНДАРТАМ
Функция fclose соответствует стандарту ANSI X3.159-1989 (``ANSI C'').

СМ. ТАКЖЕ
close(2), write(2), fcloseall(3), fflush(3), fopen(3), setbuf(3)