Функція fflush () в C ++ видаляє будь-які буферизовані дані на відповідний пристрій.
Буферизовані дані - це тимчасові дані або специфічні для програми дані, що зберігаються у фізичній пам’яті комп’ютера до певного часу.
Функція fflush () визначена у файлі заголовка.
прототип fflush ()
int fflush (FILE * потік);
Якщо потік - вихідний потік або потік оновлення, остання операція якого була виведена, виклик функції fflush () запише будь-які буферизовані неписані дані на відповідний пристрій виведення.
Якщо потік є нульовим покажчиком, усі відкриті вихідні потоки змиваються.
Поведінка невизначена для вхідних потоків та потоків оновлення, остання операція яких була введеною.
Параметри fflush ()
- потік: потік, який потрібно промити.
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. Рядок "Введіть ціле число -" не буде записаний на екран, якщо його не змити.