Функция
fpurge()
очищает буфера указанного потока.
При этом для потоков вывода отбрасываются все незаписанные изменения,
а для потоков ввода отбрасывается весь ввод, полученный от объекта,
но еще не переданный
getc(3),
в том числе любой текст, занесенный с помощью ungetc(). См. также
fflush(3).
Функция
__fpurge()
делает то же самое, но не возвращает никакое значение.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
При успешном завершении
fpurge()
возвращает 0.
При ошибке она возвращает -1 и устанавливает соответствующим образом
errno.
НАЙДЕННЫЕ ОШИБКИ
EBADF
stream
не является открытым потоком.
СООТВЕТСТВИЕ СТАНДАРТАМ
Эти функции нестандартны и не являются переносимыми.
Функция
fpurge()
появилась в BSD 4.4 и отсутствует в Linux.
Функция
__fpurge()
появилась в Solaris и включена в glibc начиная с версии 2.1.95.
ЗАМЕЧАНИЯ
Как правило, отбрасывать содержимое буферов ввода является ошибкой.