|
Программирование >> Программирование на языке c++
8. ПОТОКИ ВВОДА/ВЫВОДА 8.1. Библиотека ввода/вывода (iostream) Библиотека ввода/вывода содержит две параллельные группы классов: 1) главным базовым классом первой группы является класс streambuf, который обеспечивает организацию и взаимосвязь буферов ввода/вывода, размещаемых в памяти, с физическими устройствами ввода/вывода; 2) главным базовым классом второй группы является класс ios, который содержит средства для форматированного ввода/вывода и проверки ошибок. Класс streambuf фактически содержит средства для выполнения низкоуровневых операций ввода/вывода, для которых почти не требуется форматирование. На рис. 8.1 показаны класс streambuf и три его производных класса. Функции всех этих классов используются классами второй группы (т. е. ios и его потомками). Диаграмма наследования для основных классов второй группы приведена на рис. 8.2. Заметим, что каждая конкретная система программирования может использовать различные варианты этой диаграммы. Возле прямоугольника с классом на рис. 8.2 записан файл заголовка *.h, в который включены соответствующие описания. При работе с выбранным классом файл заголовка надо включить в программу директивой #include <*.h>. Пусть ххххх обозначает некоторую часть слова любой длины. Тогда имена классов на рис. 8.2 назначены в соответствии со следующими правилами: кхххх - содержит функции ввода данных; streambuf fstream.h filebuf strstreambuf iostream.h conbuf constrea.h strstrea.h Puc. S.I. Класс streambuf и его потомки oxxxxx - содержит функции вывода данных; ioxxxxx - содержит функции ввода/вывода данных; fxxxxx - содержит функции для работы с файлами; strxxxxx - содержит функции для работы со строками; ifxxxxx - содержит функции ввода данных из файлов; istrxxxxx - содержит функции ввода данных из строк; ofxxxxx - содержит функции вывода данных в файлы; ostrxxxxx - содержит функции вывода данных в строки. Дадим краткую характеристику классам на рис. 8.1. Классы, показанные на рис. 8.2, будут подробно описаны в последующих параграфах этой главы. Класс conbuf содержит функции, которые модифицируют вывод данных на экран дисплея. Он имеет один конструктор с атрибутом public: conbufO; Рассмотрим некоторые из компонентов-функций этого класса (они выполняются для заданного окна, частным случаем которого является полный экран дисплея): void clreolO - удаляет текст от курсора до конца строки; void clrscrO - очищает экран; void dellineO - удаляет текущую строку; void gotoxy(int x,int у) - перемещает курсор в позицию экрана с координатами х и у; iostream.h / fstream.h iostream.h I istream fstreambase strstreanibase [ ostrstream ifstream fstream.h fstream fstream.h ostrstream strstream.h strstream strstream.h Рис. 8.2. Диаграмма наследования для основных классов-потомков ios void iiiglivideoO - устанавливает повышенную яркость выводимых символов; void lowvideoO - устанавливает пониженную яркость выводимых символов; void normvideoO - устанавливает нормальную яркость выводимых символов; void textbackground(int new color) - устанавливает цвет фона; void textcolor(int new color) - устанавливает цвет символов в текстовом режиме;
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.007
При копировании материалов приветствуются ссылки. |