Provided by: manpages-ru-dev_4.19.0-7_all bug

ИМЯ

       fclose - закрывает поток

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <stdio.h>

       int fclose(FILE *stream);

ОПИСАНИЕ

       Функция   fclose()   сбрасывает  (flushes)  поток,  указанный  в  stream  (записывает  все
       буферизированные выходные данные с помощью fflush(3)) и закрывает связанный с ним файловый
       дескриптор.

       The  behaviour of fclose()  is undefined if the stream parameter is an illegal pointer, or
       is a descriptor already passed to a previous invocation of fclose().

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

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

ОШИБКИ

       EBADF  В stream указан неверный дескриптор файла.

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

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌───────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ИнтерфейсАтрибутЗначение │
       ├───────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │fclose()                                               │ Безвредность в нитях │ MT-Safe  │
       └───────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       POSIX.1-2001, POSIX.1-2008, C99.

ЗАМЕЧАНИЯ

       Заметим,  что  fclose()  сбрасывает буферы только пользовательского пространства, заданные
       библиотекой Си. Чтобы гарантировать,  что  данные  действительно  физически  сохранены  на
       диске,  буферы  ядра  также  должны быть сохранены, например, с помощью вызова sync(2) или
       fsync(2).

СМ. ТАКЖЕ

       close(2), fcloseall(3), fflush(3), fileno(3), fopen(3), setbuf(3)

ПЕРЕВОД

       Русский   перевод   этой    страницы    руководства    был    сделан    Azamat    Hackimov
       <azamat.hackimov@gmail.com>,   Dmitry   Bolkhovskikh  <d20052005@yandex.ru>,  Yuri  Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.