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 устанавливается соответствующим образом.

ОШИБКИ

Значение stream не является открытым потоком.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
__fpurge() Безвредность в нитях MT-Safe race:stream

СООТВЕТСТВИЕ СТАНДАРТАМ

Эти функции нестандартны и не являются переносимыми. Функция fpurge() появилась из BSD 4.4 и отсутствует в Linux. Функция __fpurge() появилась из Solaris и включена в glibc начиная с версии 2.1.95.

ЗАМЕЧАНИЯ

Как правило, отбрасывать содержимое буферов ввода является ошибкой.

СМОТРИТЕ ТАКЖЕ

fflush(3), setbuf(3), stdio_ext(3)

2017-09-15