---
name: "fcloseall"
section: "3"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/fcloseall"
---

# fcloseall(3)

close all open streams

## NAME

fcloseall - close all open streams

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#define _GNU_SOURCE         /* See feature_test_macros(7) */
#include <stdio.h>
```

**int fcloseall(void);**

## DESCRIPTION

The **fcloseall**() function closes all of the calling process's open streams. Buffered output for each stream is written before it is closed (as for [**fflush**(3)](/fflush/3.md)); buffered input is discarded.

The standard streams, *stdin*, *stdout*, and *stderr* are also closed.

## RETURN VALUE

This function returns 0 if all files were successfully closed; on error, **EOF** is returned.

## ATTRIBUTES

For an explanation of the terms used in this section, see [**attributes**(7)](/attributes/7.md).

| | | |
| --- | --- | --- |
| **Interface** | **Attribute** | **Value** |
| **fcloseall**() | Thread safety | MT-Unsafe race:streams |

The **fcloseall**() function does not lock the streams, so it is not thread-safe.

## STANDARDS

GNU.

## SEE ALSO

[**close**(2)](/close/2.md), [**fclose**(3)](/fclose/3.md), [**fflush**(3)](/fflush/3.md), [**fopen**(3)](/fopen/3.md), [**setbuf**(3)](/setbuf/3.md)
