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