__fpurge - вычищает поток
__fpurge(3)
вычищает поток
Other Alias
fpurge
ОБЗОР
/* не поддерживается */
#include <stdio.h>
int fpurge(FILE *stream);
/* поддерживается */
#include <stdio.h>
#include <stdio_ext.h>
void __fpurge(FILE *stream);
ОПИСАНИЕ
Функция
fpurge() очищает буферы указанного потока. При этом для потоков
вывода отбрасываются все незаписанные данные. Для потоков ввода
отбрасывается все данные, полученные от объекта, но ещё не выбранные
getc(3), в том числе, любой текст, занесённый с помощью
ungetc(3). Смотрите также
fflush(3).
Функция __fpurge() делает то же самое, но не возвращает никакого
значения.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении
fpurge() возвращает 0. При ошибке возвращается -1
и переменная
errno устанавливается соответствующим образом.
ОШИБКИ
EBADF
Значение stream не является открытым потоком.
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
__fpurge()
безвредность в потоках: безвредно (MT-Safe race:stream)
СООТВЕТСТВИЕ СТАНДАРТАМ
Эти функции нестандартны и не являются переносимыми. Функция
fpurge()
появилась из BSD 4.4 и отсутствует в Linux. Функция
__fpurge() появилась
из Solaris и включена в glibc начиная с версии 2.1.95.
ЗАМЕЧАНИЯ
Как правило, отбрасывать содержимое буферов ввода является ошибкой.