FPURGE(3) | Руководство программиста Linux | FPURGE(3) |
fpurge, __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 устанавливается соответствующим образом.
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
__fpurge() | Безвредность в нитях | MT-Safe race:stream |
Эти функции нестандартны и не являются переносимыми. Функция fpurge() появилась из BSD 4.4 и отсутствует в Linux. Функция __fpurge() появилась из Solaris и включена в glibc начиная с версии 2.1.95.
Как правило, отбрасывать содержимое буферов ввода является ошибкой.
2017-09-15 |