---
name: "stdio.h"
section: "3avr"
platform: "linux"
package: "avr-libc"
version: "1:2.2.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/stdio.h"
---

# stdio.h(3avr)

## NAME

stdio.h

## SYNOPSIS

### Macros

\#define **stdin**   (\_\_iob\[0\])\
 \#define **stdout**   (\_\_iob\[1\])\
 \#define **stderr**   (\_\_iob\[2\])\
 \#define **EOF**   (-1)\
 \#define **fdev\_set\_udata**(stream,  u)   do { (stream)-\>udata = u; } while(0)\
 \#define **fdev\_get\_udata**(stream)   ((stream)-\>udata)\
 \#define **fdev\_setup\_stream**(stream,  put,  get,  rwflag)\
 \#define **\_FDEV\_SETUP\_READ**   \_\_SRD\
 \#define **\_FDEV\_SETUP\_WRITE**   \_\_SWR\
 \#define **\_FDEV\_SETUP\_RW**   (\_\_SRD\|\_\_SWR)\
 \#define **\_FDEV\_ERR**   (-1)\
 \#define **\_FDEV\_EOF**   (-2)\
 \#define **FDEV\_SETUP\_STREAM**(put,  get,  rwflag)\
 \#define **fdev\_close**()\
 \#define **putc**(\_\_c,  \_\_stream)   **fputc**(\_\_c, \_\_stream)\
 \#define **putchar**(\_\_c)   **fputc**(\_\_c, **stdout**)\
 \#define **getc**(\_\_stream)   **fgetc**(\_\_stream)\
 \#define **getchar**()   **fgetc**(**stdin**)\

### Typedefs

typedef struct \_\_file **FILE**\

### Functions

int **fclose** (**FILE** \*\_\_stream)\
 int **vfprintf** (**FILE** \*\_\_stream, const char \*\_\_fmt, va\_list \_\_ap)\
 int **vfprintf\_P** (**FILE** \*\_\_stream, const char \*\_\_fmt, va\_list \_\_ap)\
 int **fputc** (int \_\_c, **FILE** \*\_\_stream)\
 int **printf** (const char \*\_\_fmt,...)\
 int **printf\_P** (const char \*\_\_fmt,...)\
 int **vprintf** (const char \*\_\_fmt, va\_list \_\_ap)\
 int **sprintf** (char \*\_\_s, const char \*\_\_fmt,...)\
 int **sprintf\_P** (char \*\_\_s, const char \*\_\_fmt,...)\
 int **snprintf** (char \*\_\_s, size\_t \_\_n, const char \*\_\_fmt,...)\
 int **snprintf\_P** (char \*\_\_s, size\_t \_\_n, const char \*\_\_fmt,...)\
 int **vsprintf** (char \*\_\_s, const char \*\_\_fmt, va\_list ap)\
 int **vsprintf\_P** (char \*\_\_s, const char \*\_\_fmt, va\_list ap)\
 int **vsnprintf** (char \*\_\_s, size\_t \_\_n, const char \*\_\_fmt, va\_list ap)\
 int **vsnprintf\_P** (char \*\_\_s, size\_t \_\_n, const char \*\_\_fmt, va\_list ap)\
 int **fprintf** (**FILE** \*\_\_stream, const char \*\_\_fmt,...)\
 int **fprintf\_P** (**FILE** \*\_\_stream, const char \*\_\_fmt,...)\
 int **fputs** (const char \*\_\_str, **FILE** \*\_\_stream)\
 int **fputs\_P** (const char \*\_\_str, **FILE** \*\_\_stream)\
 int **puts** (const char \*\_\_str)\
 int **puts\_P** (const char \*\_\_str)\
 size\_t **fwrite** (const void \*\_\_ptr, size\_t \_\_size, size\_t \_\_nmemb, **FILE** \*\_\_stream)\
 int **fgetc** (**FILE** \*\_\_stream)\
 int **ungetc** (int \_\_c, **FILE** \*\_\_stream)\
 char \* **fgets** (char \*\_\_str, int \_\_size, **FILE** \*\_\_stream)\
 char \* **gets** (char \*\_\_str)\
 size\_t **fread** (void \*\_\_ptr, size\_t \_\_size, size\_t \_\_nmemb, **FILE** \*\_\_stream)\
 void **clearerr** (**FILE** \*\_\_stream)\
 int **feof** (**FILE** \*\_\_stream)\
 int **ferror** (**FILE** \*\_\_stream)\
 int **vfscanf** (**FILE** \*\_\_stream, const char \*\_\_fmt, va\_list \_\_ap)\
 int **vfscanf\_P** (**FILE** \*\_\_stream, const char \*\_\_fmt, va\_list \_\_ap)\
 int **fscanf** (**FILE** \*\_\_stream, const char \*\_\_fmt,...)\
 int **fscanf\_P** (**FILE** \*\_\_stream, const char \*\_\_fmt,...)\
 int **scanf** (const char \*\_\_fmt,...)\
 int **scanf\_P** (const char \*\_\_fmt,...)\
 int **vscanf** (const char \*\_\_fmt, va\_list \_\_ap)\
 int **sscanf** (const char \*\_\_buf, const char \*\_\_fmt,...)\
 int **sscanf\_P** (const char \*\_\_buf, const char \*\_\_fmt,...)\
 int **fflush** (**FILE** \*stream)\

## Author

Generated automatically by Doxygen for AVR-LibC from the source code.
