C-style file input/output - cppreference.com (original) (raw)

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 std::FILE 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).

Contents

[edit] Types

[edit] Predefined standard streams

[edit] Functions

Defined in header
File access
fopen opens a file (function) [edit]
freopen open an existing stream with a different name (function) [edit]
fclose closes a file (function) [edit]
fflush synchronizes an output stream with the actual file (function) [edit]
fwide switches a file stream between wide character I/O and narrow character I/O (function) [edit]
setbuf sets the buffer for a file stream (function) [edit]
setvbuf sets the buffer and its size for a file stream (function) [edit]
Direct input/output
fread reads from a file (function) [edit]
fwrite writes to a file (function) [edit]
Unformatted input/output
Byte/multibyte character
fgetcgetc gets a character from a file stream (function) [edit]
fgets gets a character string from a file stream (function) [edit]
fputcputc writes a character to a file stream (function) [edit]
fputs writes a character string to a file stream (function) [edit]
getchar reads a character from stdin (function) [edit]
gets(deprecated in C++11)(removed in C++14) reads a character string from stdin (function) [edit]
putchar writes a character to stdout (function) [edit]
puts writes a character string to stdout (function) [edit]
ungetc puts a character back into a file stream (function) [edit]
Wide character
fgetwcgetwc gets a wide character from a file stream (function) [edit]
fgetws gets a wide string from a file stream (function) [edit]
fputwcputwc writes a wide character to a file stream (function) [edit]
fputws writes a wide string to a file stream (function) [edit]
getwchar reads a wide character from stdin (function) [edit]
putwchar writes a wide character to stdout (function) [edit]
ungetwc puts a wide character back into a file stream (function) [edit]
Formatted input/output
Byte/multibyte character
scanffscanfsscanf reads formatted input from stdin, a file stream or a buffer (function) [edit]
vscanfvfscanfvsscanf(C++11)(C++11)(C++11) reads formatted input from stdin, a file stream or a bufferusing variable argument list (function) [edit]
printffprintfsprintfsnprintf(C++11) prints formatted output to stdout, a file stream or a buffer (function) [edit]
vprintfvfprintfvsprintfvsnprintf(C++11) prints formatted output to stdout, a file stream or a bufferusing variable argument list (function) [edit]
Wide character
wscanffwscanfswscanf reads formatted wide character input from stdin, a file stream or a buffer (function) [edit]
vwscanfvfwscanfvswscanf(C++11)(C++11)(C++11) reads formatted wide character input from stdin, a file streamor a buffer using variable argument list (function) [edit]
wprintffwprintfswprintf prints formatted wide character output to stdout, a file stream or a buffer (function) [edit]
vwprintfvfwprintfvswprintf prints formatted wide character output to stdout, a file streamor a buffer using variable argument list (function) [edit]
File positioning
ftell returns the current file position indicator (function) [edit]
fgetpos gets the file position indicator (function) [edit]
fseek moves the file position indicator to a specific location in a file (function) [edit]
fsetpos moves the file position indicator to a specific location in a file (function) [edit]
rewind moves the file position indicator to the beginning in a file (function) [edit]
Error handling
clearerr clears errors (function) [edit]
feof checks for the end-of-file (function) [edit]
ferror checks for a file error (function) [edit]
perror displays a character string corresponding of the current error to stderr (function) [edit]
Operations on files
remove erases a file (function) [edit]
rename renames a file (function) [edit]
tmpfile creates and opens a temporary, auto-removing file (function) [edit]
tmpnam returns a unique filename (function) [edit]

[edit] Macro constants

Defined in header
EOF integer constant expression of type int and negative value (macro constant)
FOPEN_MAX 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)
BUFSIZ size of the buffer used by std::setbuf (macro constant)
_IOFBF_IOLBF_IONBF argument to std::setbuf indicating fully buffered I/Oargument to std::setbuf indicating line buffered I/Oargument to std::setbuf indicating unbuffered I/O (macro constant)
SEEK_SETSEEK_CURSEEK_END argument to std::fseek indicating seeking from beginning of the fileargument to std::fseek indicating seeking from the current file positionargument to std::fseek indicating seeking from end of the file (macro constant)
TMP_MAX maximum number of unique filenames that is guaranteed to be generatable by std::tmpnam (macro constant)
L_tmpnam size needed for an array of char to hold the result of std::tmpnam (macro constant)

[edit] See also