FFLUSH(3)

НАЗВАНИЕ
fflush - "сбрасывает" буферы потока

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

int fflush(FILE *stream);

ОПИСАНИЕ
Функция fflush принудительно записывает все буферизированные данные в устройство вывода данных или корректирует поток stream посредством определенных для него функций записи. При этом поток остается открытым.

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

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

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

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

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

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

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

СМ. ТАКЖЕ
write(2), fclose(3), fopen(3), fsync(2), sync(2), write(2), setbuf(3)