Spec-Zone.ru › C

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

См. также

fopenfopen_s
(C11)
открывает файл
(функция)
fclose
закрывает файл
(функция)
Документация C++ для fflush

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/io/fflush

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API