std::fflush
Определено в заголовочном файле <cstdio> | ||
|---|---|---|
int fflush( std::FILE* stream ); |
Для потоков вывода (а также для потоков обновления, последней операцией в которых был вывод) записывает все ещё не записанные данные из буфера stream в соответствующее устройство вывода.
Для потоков ввода (а также для потоков обновления, последней операцией в которых был ввод) поведение не определено.
| Если какие-либо данные записываются в устройство вывода, возврат из | (начиная с C++26) |
Если stream является нулевым указателем, указанная выше операция сброса выполняется для всех открытых потоков вывода, включая потоки, используемые пакетами библиотек или иным образом недоступные программе напрямую.
Параметры
| stream | - | поток файла для записи |
Возвращаемое значение
В случае успеха возвращает 0. В противном случае возвращает EOF и устанавливает индикатор ошибки потока файла.
Примечания
POSIX расширяет спецификацию fflush, определяя его действие для потока ввода, если этот поток представляет файл или другое устройство с возможностью перемещения указателя: в этом случае указатель файла POSIX перемещается в соответствии с указателем потока C (что фактически отменяет буферизацию чтения), а эффекты любых std::ungetc или std::ungetwc, которые ещё не были прочитаны из потока, отбрасываются.
Microsoft также расширяет спецификацию fflush, определяя его действие для потока ввода: в Visual Studio 2013 и более ранних версиях буфер ввода отбрасывался, а в Visual Studio 2015 и более поздних версиях функция не оказывает эффекта, буферы сохраняются.
См. также
| открывает файл (функция) |
|
| закрывает файл (функция) |
|
Документация по C для fflush |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/c/fflush