C-style file input/output
cppreference.com
[] |
Google. . , . , . |
CI / O C + + C- / .
<cstdio> / , <cwchar> / . :
The C I/O subset of the C++ standard library implements C-style stream input/output operations. The
<cstdio> header provides generic file operation support and supplies functions with narrow and multibyte character input/output capabilities, and the <cwchar> header provides functions with wide character input/output capabilities. C std::FILE,
std::FILE* (: , std::FILE FILE*, / ). C (, , , , ..).:
C streams are objects of type std::FILE that can only be accessed and manipulated through pointers of type
std::FILE* (Note: while it may be possible to create a local object of type std::FILE by dereferencing and copying a valid FILE*, using the address of such copy in the I/O functions is undefined behavior). Each C stream is associated with an external physical device (file, standard input stream, printer, serial port, etc).C . / . C + + , , C : std::setlocale.
:
C streams can be used for both unformatted and formatted input and output. They are locale-sensitive and may perform wide/multibyte conversions as necessary. Unlike C++ streams, where each stream is associated with its own locale, all C streams access the same locale object: the one most recently installed with std::setlocale.
, , (, POSIX), C :
:
Besides the system-specific information necessary to access the device (e.g. a POSIX file descriptor), each C stream object holds the following:
1)
:
2)
: , , .
3)
, , .
4)
I / O : , , ( ).
5)
Binary / .
6)
.
7)
.
8)
( std::fpos_t), , , (
mbstate_t).:
File position indicator (an object of type std::fpos_t), which, for wide character streams, includes the parse state (an object of type
mbstate_t).() | |
() | |
() | |
() | |
| / / () | |
() | |
() | |
| |
() | |
() | |
| |
() | |
() | |
() | |
| () | |
| () | |
| () | |
| () | |
| () | |
() | |
| () | |
| () | |
| () | |
| () | |
| stdin () | |
| stdout () | |
| () | |
| |
| |
| stdin, () | |
(C++11)(C++11)(C++11) |
stdin, buffer () |
(C++11) |
() |
| stdout, () | |
| stdin, () | |
(C++11)(C++11)(C++11) |
stdin, , () |
| stdout, () | |
| stdout, , () | |
() | |
() | |
() | |
() | |
() | |
() | |
() | |
() | |
| , , stderr () | |
() | |
() | |
, () | |
() | |
<cstdio> | |
| Definition | |
FILE
|
, , CI / O
|
fpos_t
|
,
|
<cstdio> | |
stdinstdoutstderr |
FILE* streamexpression FILE*, streamexpression FILE*, : expression of type FILE* associated with the input streamexpression of type FILE* associated with the output streamexpression of type FILE* associated with the error output stream() |
EOF |
int () |
FOPEN_MAX |
, () |
FILENAME_MAX |
() |
BUFSIZ |
() |
_IOFBF_IOLBF_IONBF |
std::setbuf / O argument std::setbuf / O argument std::setbuf I / O : argument to std::setbuf indicating fully buffered I/O argument to std::setbuf indicating line buffered I/O argument to std::setbuf indicating unbuffered I/O () |
SEEK_SETSEEK_CURSEEK_END |
std::fseek file argument std::fseek position argument std::fseek : argument to std::fseek indicating seeking from beginning of the file argument to std::fseek indicating seeking from the current file position argument to std::fseek indicating seeking from end of the file () |
TMP_MAX |
() |
L_tmpnam |
() |