FPURGE(3)

NOMBRE
fpurge, __fpurge - vacía un flujo

SINOPSIS
/* no soportada */
#include <stdio.h>

int fpurge(FILE *stream);

/* soportada */
#include <stdio.h>
#include <stdio_ext.h>

void  __fpurge(FILE *stream);

DESCRIPCIÓN
La función fpurge() vacía los buffers del flujo dado. Para flujos de salida esta función descarta toda salida pendiente. Para flujos de entrada esta función descarta toda entrada leída del objeto subyacente pero que no ha sido obtenida todavía con getc(3); ésto incluye cualquier texto devuelto a la entrada via ungetc(). Véase también fflush(3).

La función __fpurge() hace lo mismo, pero sin devolver un valor.

VALOR DEVUELTO
Si se completa con éxito fpurge() devuelve 0. En caso de error, se devuelve -1 y se modifica errno con el valor apropiado.

ERRORES

EBADF
    stream no es un flujo abierto.

CONFORME A
Estas funciones no son estándares ni portables. La función fpurge() fue introducida en BSD 4.4 y no está disponible bajo Linux. La función __fpurge() fue introducida en Solaris, y está presente en glibc 2.1.95 y posteriores.

OBSERVACIONES
Habitualmente es un fallo querer descartar buffers de entrada.

VÉASE TAMBIÉN
fclean(3), fflush(3), setbuf(3), stdio_ext(3)