Резюме

Язык С++ использует библиотечные классы для обработки потоков ввода и вывода.

• Класс iostream отрабатывает ввод-вывод на консоль.

• Класс fstream отрабатывает ввод-вывод в именованным файл.

• Класс stringstream отрабатывает ввод-вывод в строки в оперативной памяти.

Классы fstream и stringstream связаны происхождением от класса iostream. Классы ввода происходят от класса istream, а классы вывода — от класса ostream. Таким образом, операции, которые могут быть выполнены с объектом класса istream, могут быть также выполнены с объектом класса ifstream или istringstream. Аналогично для классов вывода, происходящих от класса ostream.

Каждый объект ввода-вывода обладает набором флагов состояния, указывающих, возможен ли ввод-вывод через этот объект. Если произошла ошибка (например, встретился конец файла в потоке ввода), то состояние объекта окажется таково, что никакой дальнейший ввод невозможен, пока ошибка не будет исправлена. Библиотека предоставляет набор функций для установки и проверки этих состояний.