fflush – проталкивание накопленных данных в потока данных.
Синтаксис:
#include < stdio.h >
int fflush (FILE *stream);
Аргументы:
stream – указатель на управляющую таблицу потока данных.
Возвращаемое значение:
0 – при успешном завершении работы функции.
EOF (обычно -1) – в случаи ошибки.
Описание:
Функция fflush сбрасывает в связанный с потоком данных файл данные, находящиеся в буфере.
Если аргумент stream имеет значения:
- NULL, то сбрасываются буферы всех открытых в данный момент потоков данных;
- stdout, то сбрасывается буфер стандартного потока вывода.
Пример:
В примере отсчитывается время в секундах с момента запуска программы. Отсчитываемое время выводится на консоль. Чтобы время выводилось сразу же в момент печати, используется функция fflush.
#include < stdio.h > // Для printf, fflush
#include < unistd.h > // Для sleep
int main (void)
{
int i=0; // Счетчик секунд
// Бесконечный цикл
while (1)
{
// Вывод строки (строка записывается в буфер)
printf (“\r%d”,i);
//Сброс буфера (строка отобразится в консоле)
fflush (stdout);
//Задержка на 1 секунду
sleep (1);
//Увеличение счетчика секунд на 1
i++;
}
return 0;
}
| |
Результат:
Отображение в консоле через 5 секунд после запуска программы:
Смотри так же:
fflush
|