From cppreference.com
The
header provides generic file operation support and supplies functions with narrow character input/output capabilities.
The
header supplies functions with wide character input/output capabilities.
I/O streams are denoted by objects of type
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).
Types
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)
Predefined standard streams
expression of type FILE* associated with the input stream
expression of type FILE* associated with the output stream
expression of type FILE* associated with the error output stream
(macro constant)
Functions
File access Defined in header
(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
(C95)
switches a file stream between wide character I/O and narrow character I/O
(function)
Direct input/output Defined in header
reads from a file
(function)
writes to a file
(function)
Unformatted input/output Narrow characterDefined in header
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
(function)
(removed in C11)(C11)
reads a character string from
(function)
writes a character to
(function)
writes a character string to
(function)
puts a character back into a file stream
(function)
Wide characterDefined in header
(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
(function)
(C95)
writes a wide character to
(function)
(C95)
puts a wide character back into a file stream
(function)
Formatted input/output Narrow characterDefined in header
scanffscanfsscanfscanf_sfscanf_ssscanf_s
(C11)(C11)(C11)
reads formatted input from
, a file stream or a buffer
(function)
vscanfvfscanfvsscanfvscanf_svfscanf_svsscanf_s
(C99)(C99)(C99)(C11)(C11)(C11)
reads formatted input from
, a file stream or a buffer
using variable argument list
(function)
printffprintfsprintfsnprintfprintf_sfprintf_ssprintf_ssnprintf_s
(C99)(C11)(C11)(C11)(C11)
prints formatted output to
, a file stream or a buffer
(function)
vprintfvfprintfvsprintfvsnprintfvprintf_svfprintf_svsprintf_svsnprintf_s
(C99)(C11)(C11)(C11)(C11)
prints formatted output to
, a file stream or a buffer
using variable argument list
(function)
Wide characterDefined in header
wscanffwscanfswscanfwscanf_sfwscanf_sswscanf_s
(C95)(C95)(C95)(C11)(C11)(C11)
reads formatted wide character input from
, a file stream or a buffer
(function)
vwscanfvfwscanfvswscanfvwscanf_svfwscanf_svswscanf_s
(C99)(C99)(C99)(C11)(C11)(C11)
reads formatted wide character input from
, a file stream
or a buffer using variable argument list
(function)
wprintffwprintfswprintfwprintf_sfwprintf_sswprintf_ssnwprintf_s
(C95)(C95)(C95)(C11)(C11)(C11)(C11)
prints formatted wide character output to
, a file stream or a buffer
(function)
vwprintfvfwprintfvswprintfvwprintf_svfwprintf_svswprintf_svsnwprintf_s
(C95)(C95)(C95)(C11)(C11)(C11)(C11)
prints formatted wide character output to
, a file stream
or a buffer using variable argument list
(function)
File positioning Defined in header
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
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
(function)
Operations on files Defined in header
erases a file
(function)
renames a file
(function)
(C11)
returns a pointer to a temporary file
(function)
(C11)
returns a unique filename
(function)
Macro constants
EOF
integer constant expression of type int and 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 char to hold the longest supported file name
(macro constant)_PRINTF_NAN_LEN_MAX
(C23)
the maximum number of characters output for any (possibly negated) NaN value
(macro constant)BUFSIZ
size of the buffer used by
(macro constant)_IOFBF_IOLBF_IONBF
indicates the buffering mode (fully buffered / line buffered / unbuffered) to be set by
(macro constant)SEEK_SETSEEK_CURSEEK_END
indicates the offset origin (beginning / current position / end) to be used by
(macro constant)TMP_MAXTMP_MAX_S
(C11)
maximum number of unique filenames that can be generated by
/ tmpnam_s
(macro constant)L_tmpnamL_tmpnam_s
(C11)
size needed for an array of char to hold the result of
/ tmpnam_s
(macro constant)References
C23 standard (ISO/IEC 9899:2024):
7.21 Input/output <stdio.h> (p: TBD)
7.29 Extended multibyte and wide character utilities <wchar.h> (p: TBD)
7.31.11 Input/output <stdio.h> (p: TBD)
7.31.16 Extended multibyte and wide character utilities <wchar.h> (p: TBD)
K.3.5 Input/output <stdio.h> (p: TBD)
C17 standard (ISO/IEC 9899:2018):
7.21 Input/output <stdio.h> (p: TBD)
7.29 Extended multibyte and wide character utilities <wchar.h> (p: TBD)
7.31.11 Input/output <stdio.h> (p: TBD)
7.31.16 Extended multibyte and wide character utilities <wchar.h> (p: TBD)
K.3.5 Input/output <stdio.h> (p: TBD)
C11 standard (ISO/IEC 9899:2011):
7.21 Input/output <stdio.h> (p: 296-339)
7.29 Extended multibyte and wide character utilities <wchar.h> (p: 402-446)
7.31.11 Input/output <stdio.h> (p: 456)
7.31.16 Extended multibyte and wide character utilities <wchar.h> (p: 456)
K.3.5 Input/output <stdio.h> (p: 586-603)
C99 standard (ISO/IEC 9899:1999):
7.19 Input/output <stdio.h> (p: 262-305)
7.24 Extended multibyte and wide character utilities <wchar.h> (p: 348-392)
7.26.9 Input/output <stdio.h> (p: 402)
7.26.12 Extended multibyte and wide character utilities <wchar.h> (p: 402)
C89/C90 standard (ISO/IEC 9899:1990):
4.9 INPUT/OUTPUT <stdio.h>
4.13.6 Input/output <stdio.h>
See also