Функция fflush () в C ++ сбрасывает все буферизованные данные на соответствующее устройство.
Буферизованные данные - это временные данные или данные приложения, которые хранятся в физической памяти компьютера до определенного времени.
Функция fflush () определена в заголовочном файле.
прототип fflush ()
int fflush (ФАЙЛ * поток);
Если поток является потоком вывода или потоком обновления, последняя операция которого была выведена, вызов функции fflush () запишет любые буферизованные незаписанные данные в соответствующее устройство вывода.
Если поток является нулевым указателем, все открытые выходные потоки сбрасываются.
Поведение не определено для входных потоков и потоков обновления, последняя операция которых была введена.
Параметры fflush ()
- stream: поток, который нужно очистить.
fflush () Возвращаемое значение
Функция fflush () возвращает:
- Ноль при успехе.
- EOF при сбое и устанавливает индикатор ошибки файлового потока.
Пример: как работает функция fflush ()?
#include #include int main() ( int x; char buffer(1024); setvbuf(stdout, buffer, _IOFBF, 1024); printf("Enter an integer - "); fflush(stdout); scanf("%d",&x); printf("You entered %d", x); return(0); )
Когда вы запустите программу, вывод будет:
Введите целое число - 2 Вы ввели 2
В приведенной выше программе попробуйте удалить строку fflush(stdout)
и запустить программу, чтобы увидеть эффект fflush. Строка «Введите целое число -» не будет выводиться на экран, пока она не будет сброшена.