fpurge(3bsd) 3bsd fpurge(3bsd)

# [NAME](#NAME)

`fpurge` — flush a stream

# [LIBRARY](#LIBRARY)

library “libbsd”

# [SYNOPSIS](#SYNOPSIS)

`#include <stdio.h>` (See [libbsd(7)](/man/os/libbsd/libbsd.7) for include usage.)  
`int`  
`fpurge`(`FILE *stream`);

# [DESCRIPTION](#DESCRIPTION)

The function [`fpurge`](#fpurge)() erases any input or output buffered in the given `stream`. For output streams this discards any unwritten output. For input streams this discards any input read from the underlying object but not yet obtained via [getc(3)](/man/os/libbsd/getc.3); this includes any text pushed back via [ungetc(3)](/man/os/libbsd/ungetc.3).

# [RETURN VALUES](#RETURN_VALUES)

Upon successful completion 0 is returned. Otherwise, `EOF` is returned and the global variable `errno` is set to indicate the error.

# [ERRORS](#ERRORS)

\[[`EBADF`](#EBADF)]

`stream` is not an open stream.

# [SEE ALSO](#SEE_ALSO)

[fclose(3)](/man/os/libbsd/fclose.3), [fopen(3)](/man/os/libbsd/fopen.3), [setvbuf(3)](/man/os/libbsd/setvbuf.3)

# [HISTORY](#HISTORY)

The `fpurge`() function first appeared in 4.4BSD-Lite.

November 4, 2015 Linux 4.19.0-gvisor

---

Document: fpurge(3bsd) from libbsd 0.12.2-r9 (Chainguard OS)
Source: https://gitlab.freedesktop.org/libbsd/libbsd
