Spec-Zone.ru › C++

std::fflush

Определено в заголовочном файле <cstdio>
int fflush( std::FILE* stream );

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

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

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

(начиная с C++26)

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

Параметры

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

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

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

Примечания

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

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

См. также

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

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

Spec-Zone.ru

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