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) |