fflush
Определён в заголовочном файле <stdio.h> | ||
|---|---|---|
int fflush( FILE* stream ); |
Для потоков вывода (а также для потоков обновления, последней операцией над которыми была операция вывода) записывает все ещё не записанные данные из буфера stream в связанное устройство вывода.
Для потоков ввода (а также для потоков обновления, последней операцией над которыми была операция ввода) поведение не определено.
Если stream — нулевой указатель, очищаются все открытые потоки вывода, включая потоки, используемые в пакетах библиотек или иным образом недоступные программе напрямую.
Параметры
| stream | - | поток файла для записи |
Возвращаемое значение
При успешном выполнении возвращает ноль. В противном случае возвращается EOF и устанавливается индикатор ошибки потока файла.
Примечания
POSIX расширяет спецификацию fflush, определяя её действие для потока ввода, если этот поток представляет файл или другое устройство с возможностью позиционирования: в этом случае указатель файла POSIX перемещается в позицию, соответствующую указателю потока C (что фактически отменяет буферизацию чтения), а эффекты любых ungetc или ungetwc, которые ещё не были прочитаны обратно из потока, отбрасываются.
Microsoft также расширяет спецификацию fflush, определяя её действие для потока ввода: в Visual Studio 2013 и более ранних версиях она отбрасывала буфер ввода, а в Visual Studio 2015 и более новых версиях она не оказывает эффекта, буферы сохраняются.
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.21.5.2 Функция fflush (стр.: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.21.5.2 Функция fflush (стр.: TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.21.5.2 Функция fflush (стр.: 305)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.19.5.2 Функция fflush (стр.: 270–271)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.9.5.2 Функция fflush
См. также
|
(C11) | открывает файл (функция) |
| закрывает файл (функция) |
|
Документация C++ для fflush |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/io/fflush