Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       fflush - сбрасывает поток

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <stdio.h>

       int fflush(FILE *stream);

ОПИСАНИЕ

       Для  потоков  вывода  функция  fflush()  принудительно  записывает  все буферизированные в
       пользовательском пространстве данные в устройство вывода данных  или  корректирует  stream
       посредством определённой для него функции записи.

       Для  потоков  ввода,  связанных  с файлами, в которых возможно позиционирование (например,
       дисковые  файлы,  но  не  каналы  или  терминалы),  функция   fflush()   отбрасывает   все
       буферизированные данные, которые были получены из соответствующего файла, но не обработаны
       приложением.

       При этом поток остается открытым.

       Если аргумент stream равен NULL, то  fflush()  сбрасывает  данные  всех  открытых  потоков
       вывода.

       Неблокирующий аналог смотрите в unlocked_stdio(3).

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

       При успешном выполнении возвращается нулевое значение. В противном случае возвращается EOF
       и errno присваивается код ошибки.

ОШИБКИ

       EBADF  Поток stream не открыт или не открыт для записи.

       Функция fflush()  может  завершиться  с  ошибкой  и  присвоить  errno  любое  значение  из
       определённых для write(2).

АТРИБУТЫ

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

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

СТАНДАРТЫ

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

       В  POSIX.1-2001  не  определено  поведение  для  сброса потоков ввода, но но это описано в
       POSIX.1-2008.

ЗАМЕЧАНИЯ

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

СМ. ТАКЖЕ

       fsync(2),   sync(2),  write(2),  fclose(3),  fileno(3),  fopen(3),  fpurge(3),  setbuf(3),
       unlocked_stdio(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⟩.