The <stdio.h> header provides generic file operation support and supplies functions with narrow character input/output capabilities.
The <wchar.h> header supplies functions with wide character input/output capabilities.
I/O streams are denoted by objects of type FILE that can only be accessed and manipulated through pointers of type FILE*. Each stream is associated with an external physical device (file, standard input stream, printer, serial port, etc).
| Defined in header <stdio.h> | |
|---|---|
| object type, capable of holding all information needed to control a C I/O stream (typedef) | |
| non-array complete object type, capable of uniquely specifying a position and multibyte parser state in a file (typedef) | |
| Defined in header <stdio.h> | |
|---|---|
| expression of type FILE*associated with the input streamexpression of type FILE*associated with the output streamexpression of type FILE*associated with the error output stream(macro constant) | |
| File access | |
| Defined in header <stdio.h> | |
|---|---|
| (C11) | opens a file (function) | 
| (C11) | open an existing stream with a different name (function) | 
| closes a file (function) | |
| synchronizes an output stream with the actual file (function) | |
| sets the buffer for a file stream (function) | |
| sets the buffer and its size for a file stream (function) | |
| Defined in header <wchar.h> | |
| (C95) | switches a file stream between wide character I/O and narrow character I/O (function) | 
| Direct input/output | |
| Defined in header <stdio.h> | |
| reads from a file (function) | |
| writes to a file (function) | |
| Unformatted input/output | |
| Narrow character | |
| Defined in header <stdio.h> | |
| gets a character from a file stream (function) | |
| gets a character string from a file stream (function) | |
| writes a character to a file stream (function) | |
| writes a character string to a file stream (function) | |
| reads a character from stdin(function) | |
| (removed in C11)(C11) | reads a character string from stdin(function) | 
| writes a character to stdout(function) | |
| writes a character string to stdout(function) | |
| puts a character back into a file stream (function) | |
| Wide character | |
| Defined in header <wchar.h> | |
| (C95) | gets a wide character from a file stream (function) | 
| (C95) | gets a wide string from a file stream (function) | 
| (C95) | writes a wide character to a file stream (function) | 
| (C95) | writes a wide string to a file stream (function) | 
| (C95) | reads a wide character from stdin(function) | 
| (C95) | writes a wide character to stdout(function) | 
| (C95) | puts a wide character back into a file stream (function) | 
| Formatted input/output | |
| Narrow character | |
| Defined in header <stdio.h> | |
| (C11)(C11)(C11) | reads formatted input from stdin, a file stream or a buffer(function) | 
| (C99)(C99)(C99)(C11)(C11)(C11) | reads formatted input from stdin, a file stream or a bufferusing variable argument list (function) | 
| (C99)(C11)(C11)(C11)(C11) | prints formatted output to stdout, a file stream or a buffer(function) | 
| (C99)(C11)(C11)(C11)(C11) | prints formatted output to stdout, a file stream or a bufferusing variable argument list (function) | 
| Wide character | |
| Defined in header <wchar.h> | |
| (C95)(C95)(C95)(C11)(C11)(C11) | reads formatted wide character input from stdin, a file stream or a buffer(function) | 
| (C99)(C99)(C99)(C11)(C11)(C11) | reads formatted wide character input from stdin, a file streamor a buffer using variable argument list (function) | 
| (C95)(C95)(C95)(C11)(C11)(C11)(C11) | prints formatted wide character output to stdout, a file stream or a buffer(function) | 
| (C95)(C95)(C95)(C11)(C11)(C11)(C11) | prints formatted wide character output to stdout, a file streamor a buffer using variable argument list (function) | 
| File positioning | |
| Defined in header <stdio.h> | |
| returns the current file position indicator (function) | |
| gets the file position indicator (function) | |
| moves the file position indicator to a specific location in a file (function) | |
| moves the file position indicator to a specific location in a file (function) | |
| moves the file position indicator to the beginning in a file (function) | |
| Error handling | |
| Defined in header <stdio.h> | |
| clears errors (function) | |
| checks for the end-of-file (function) | |
| checks for a file error (function) | |
| displays a character string corresponding of the current error to stderr(function) | |
| Operations on files | |
| Defined in header <stdio.h> | |
| erases a file (function) | |
| renames a file (function) | |
| (C11) | returns a pointer to a temporary file (function) | 
| (C11) | returns a unique filename (function) | 
| Defined in header <stdio.h> | |
|---|---|
| EOF | integer constant expression of type intand negative value(macro constant) | 
| FOPEN_MAX | maximum number of files that can be open simultaneously (macro constant) | 
| FILENAME_MAX | size needed for an array of charto hold the longest supported file name(macro constant) | 
| BUFSIZ | size of the buffer used by setbuf(macro constant) | 
| _IOFBF_IOLBF_IONBF | argument to setvbufindicating fully buffered I/Oargument to setvbufindicating line buffered I/Oargument to setvbufindicating unbuffered I/O(macro constant) | 
| SEEK_SETSEEK_CURSEEK_END | argument to fseekindicating seeking from beginning of the fileargument to fseekindicating seeking from the current file positionargument to fseekindicating seeking from end of the file(macro constant) | 
| TMP_MAXTMP_MAX_S (C11) | maximum number of unique filenames that can be generated by tmpnammaximum number of unique filenames that can be generated by tmpnam_s(macro constant) | 
| L_tmpnamL_tmpnam_s (C11) | size needed for an array of charto hold the result oftmpnamsize needed for an array of charto hold the result oftmpnam_s(macro constant) | 
| C++ documentation for C-style file input/output | 
    © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
    https://en.cppreference.com/w/c/io