From cppreference.com
The C I/O subset of the C++ standard library implements C-style stream input/output operations. The
header provides generic file operation support and supplies functions with narrow and multibyte character input/output capabilities, and the
header provides functions with wide character input/output capabilities.
C streams are denoted by objects of type
that can only be accessed and manipulated through pointers of type std::FILE*. Each C 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)
complete non-array object type, capable of uniquely specifying a position in a file, including its multibyte parse state
(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
Defined in header
File access
opens a file
(function)
open an existing stream with a different name
(function)
closes a file
(function)
synchronizes an output stream with the actual file
(function)
switches a file stream between wide character I/O and narrow character I/O
(function)
sets the buffer for a file stream
(function)
sets the buffer and its size for a file stream
(function)
Direct input/output
reads from a file
(function)
writes to a file
(function)
Unformatted input/output Byte/multibyte character
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)
(deprecated in C++11)(removed in C++14)
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 character
gets a wide character from a file stream
(function)
gets a wide string from a file stream
(function)
writes a wide character to a file stream
(function)
writes a wide string to a file stream
(function)
reads a wide character from
(function)
writes a wide character to
(function)
puts a wide character back into a file stream
(function)
Formatted input/output Byte/multibyte character
reads formatted input from
, a file stream or a buffer
(function)
(C++11)(C++11)(C++11)
reads formatted input from
, a file stream or a buffer
using variable argument list
(function)
(C++11)
prints formatted output to
, a file stream or a buffer
(function)
vprintfvfprintfvsprintfvsnprintf
(C++11)
prints formatted output to
, a file stream or a buffer
using variable argument list
(function)
Wide character
reads formatted wide character input from
, a file stream or a buffer
(function)
(C++11)(C++11)(C++11)
reads formatted wide character input from
, a file stream
or a buffer using variable argument list
(function)
prints formatted wide character output to
, a file stream or a buffer
(function)
prints formatted wide character output to
, a file stream
or a buffer using variable argument list
(function)
File positioning
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
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
erases a file
(function)
renames a file
(function)
creates and opens a temporary, auto-removing file
(function)
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
(C++26)
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_MAX
maximum number of unique filenames that can be generated by
(macro constant)L_tmpnam
size needed for an array of char to hold the result of
(macro constant)See also