Назва

fflush - звільняє потік

Огляд

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

Опис

Функція fflush примушує запис усіх даних з буферу користувацького простору і поновлення потоку через його власну функцію write. Статус відкритості потоку залишиться незмінним.

Якщо аргумент stream має значення NULL, fflush звільняє всі відкриті потоки виводу.

Для незамкнених еквівалентів, загляніть до ?unlocked stdio(3).

Повернені значення

При вдалому завершенні повертається 0. У протилежному випадку - EOF і глобальна змінна errno набуде значення коду помилки.

Коди помилок

EBADF : stream не є відкритим потоком, або ж не відкритий для запису.

Функція fflush може також, зазнаючи невдачі, встановити errno до кодів помилок, вказаних для функції write(2).

Примітки

Зауважте, що fflush() звільняє тільки буфери користувацького простору, надані бібліотекою C. Щоб упевнитись, що дані фізично збережені на диску, буфери ядра необхідно звільнити також за допомогою, скажімо, ?sync(3) або ?fsync(2).

Відповідність стандартам

Функція fflush() відповідає стандарту ANSI X3.159-1989 ("ANSI C").

Дивіться також

?fsync(2), ?sync(2), write(2), fclose(3), ?fopen(3), ?setbuf(3), ?unlocked stdio(3)