Содержание | Глава 13

Функция fflush

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

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

Нулевое значение, возвращаемое функцией, свидетельствует о ее успешном выполнении, а значение EOF — о возникновении ошибки при записи.

При нормальном завершении программы или при заполнении буферов все их coдержимое автоматически дозаписывается в файл. Кроме того, буфер дозаписывается в файл при закрытии файла.

Пример

Приведенный фрагмент программы дозаписывает в файл содержимое буфера после каждой операции записи.

/*
  Предполагается, что fp связан с выходным файлом.
*/

for(i=0; i<MAX; i++) {
  fwrite(buf, sizeof(some_type), 1, fp);
  fflush(fp);
} 

Зависимые функции

fclose() fopen() fread() fwrite() getc() putc()
Содержание | Глава 13