ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 12) онлайн

Резюме

В этой главе мы ознакомились с иерархией потоковых классов и показали, как обрабатывать различного рода ошибки ввода/вывода. Затем мы рассмотрели некоторые варианты файлового ввода/вывода. Файлы в C++ связаны с объек- тами различных классов: класс ofstream используется для файлового вывода, ifstream — для ввода, fstream — для ввода и вывода одновременно. Методы этих или базовых классов предназначены для выполнения операций ввода/вывода. Такие операции и функции, как <<, put() и write(), используются для вывода, а >>, get() и read() — для ввода.

Функции read() и write работают с данными в двоичном режиме. Поэтому мож- но записывать в файлы объекты целиком, вне зависимости от типов данных, ко- торые они содержат. Могут храниться как отдельные объекты, так и массивы и другие структуры, составленные из множества объектов. Файловый ввод/вы- вод может обрабатываться с использованием методов. За него могут отвечать как конкретные объекты, так и классы (с помощью статических функций).

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

 

46