C++ file I/O is done via streams. The key abstractions are:
std::istream
for reading text.
std::ostream
for writing text.
std::streambuf
for reading or writing characters.
Formatted input uses operator>>
.
Formatted output uses operator<<
.
Streams use std::locale
, e.g., for details of the formatting and for translation between external encodings and the internal encoding.
More on streams: <iostream> Library