Namespaces
Variants

std:: fflush

From cppreference.net
< cpp ‎ | io ‎ | c
Определено в заголовочном файле <cstdio>
int fflush ( std:: FILE * stream ) ;

Для выходных потоков (и для потоков обновления, на которых последней операцией был вывод), записывает любые незаписанные данные из stream буфера на связанное устройство вывода.

Для входных потоков (и для потоков обновления, на которых последней операцией был ввод), поведение не определено.

Если какие-либо данные записываются в устройство вывода, возврат из std::fflush устанавливает наблюдаемую точку синхронизации .

(since C++26)

Если stream является нулевым указателем, операция сброса буфера, указанная выше, выполняется для всех открытых выходных потоков, включая те, которые управляются внутри библиотечных пакетов или иным образом недоступны программе напрямую.

Содержание

Параметры

stream - файловый поток для записи

Возвращаемое значение

Возвращает 0 при успешном выполнении. В противном случае возвращает EOF и устанавливает индикатор ошибки файлового потока.

Примечания

POSIX расширяет спецификацию fflush путем определения его воздействия на входной поток, при условии что этот поток представляет файл или другое позиционируемое устройство: в этом случае указатель файла POSIX переустанавливается в соответствии с указателем потока C (что фактически отменяет любую буферизацию чтения) и эффекты любых std::ungetc или std::ungetwc , которые еще не были прочитаны обратно из потока, отбрасываются.

Microsoft также расширяет спецификацию fflush , определяя его влияние на входной поток: в Visual Studio 2013 и более ранних версиях он очищал входной буфер , в Visual Studio 2015 и новее он не оказывает эффекта, буферы сохраняются .

Смотрите также

открывает файл
(функция)
закрывает файл
(функция)
C documentation для fflush