Функция библиотеки C -fflush()
Стандартная библиотека C - <stdio.h>
Описание
Функции библиотеки Cint fflush(FILE *stream)Используется для сброса выходного буфера.
fflush() — это функция в стандартной библиотеке C, которая немедленно записывает данные из буфера в файл или устройство, связанное с потоком.
Для входных потоков её поведение не определено, и вызова этой функции для входных потоков следует избегать.
Объявление
Ниже приведено объявление функции fflush().
int fflush(FILE *stream)
Параметр
stream-- Указатель на тип FILE, обозначающий целевой поток, буфер которого нужно сбросить. FILE — это структура, представляющая открытый файловый поток.
- if
streamявляетсяNULL, то она сбросит буферы всех выходных потоков. - if
streamЕсли это файловый указатель, то сбросить выходной буфер этого файлового потока.
- if
Возвращаемое значение
Если буфер успешно сброшен,
fflush()Возвращает 0.Если возникает ошибка, возвращает
EOF, и устанавливает индикатор ошибки (ferror)。
Пример
В следующем примере демонстрируется использование функции fflush().
Пример
Пояснение к коду:
Открыть файл: Используйте
fopen()Откройте файл с именемexample.txtФайл открывается для записи.Запишите данные: используйте
fprintf()Строка"Hello, World!"Запишите в файл.Сбросьте буфер: вызовите
fflush(fp)Убедитесь, что данные записываются в файл немедленно, а не остаются в буфере.Проверьте возвращаемое значение: если
fflush()Возвращает 0, что означает, что буфер был успешно сброшен; в противном случае это указывает на то, что произошла ошибка.Закройте файл: используйте
fclose()Закройте файл.
Data successfully written to the file.
Программа открывает файл example.txt и записывает строку "Hello, World!".
fflush(fp) успешно очищает буфер и возвращает 0, поэтому выводит "Данные успешно записаны в файл."
Содержимое файла example.txt будет:
Hello, World!Другие расширения