Потоковые классы С++
Библиотека потоковых классов в С++ состоит из нескольких классов, распределенным по двум отдельным иерархическим деревьям.
Файл заголовка | Классы |
constrea.h | conbuf, constream (только для приложений консольного режима). |
iostream.h | ios, iostream, iostream_withassign, istream, istream_withassign, streambuf |
fstream.h | filebuf, fstream, ostream, strstream, strstre- ambase, strstreambuf. |
Класс conbuf (constrea.h)
Специализирует streambuf для обработки консольного вывода.
Функции-элементы
Constructor | Создает подключенный conbuf. |
clreol | Очищает экран до конца текстового окна. |
clrscr | Очищает заданный экран. |
delline | Удаляет строку в окне. |
gotoxy | Позиционирует курсор в заданной позиции окна. |
highvideo | Выделяет символы повышенной яркостью. |
insline | Вставляет пустую строку. |
lowvideo | Выделяет символы пониженной яркостью. |
normvideo | Задает нормальную интенсивность символов. |
overflow | Выводит содержимое conbuf. |
setcursotype | Задает вид курсора. |
textattr | Задает атрибут текста. |
textbackground | Задает текстовый фоновый курсор. |
textmode | Переводит курсор в текстовый режим. |
wherex | Получает горизонтальную позицию курсора. |
wherey | Получает вертикальную позицию курсора. |
window | Определяет активное окно. |
Иерархия классов производных от ios
На вершине иерархии находится класс ios, который, несмотря на то, что технически не является абстрактным, как правило, не используется для создания объектов ввода-вывода, а используется только в качестве базового класса для остальных потоков ввода-вывода. Действительно, класс ios содержит единст венный открытый конструктор потока, для использования которого требуется иметь предварительно созданный объект типа streambuf, обеспечивающий возможности буферизованного ввода или вывода. В большинстве случаев намного удобнее воспользоваться производными от ios классами, которые обеспечивают более простой интерфейс для создания потоковых объектов и предоставляют дополнительную функциональность, адаптированную к задачам ввода или вывода данных.
При работе с потоковой библиотекой ввода-вывода программист обычно достаточно активно использует следующие классы:
- ios - базовый потоковый класс;
- istream - класс входных потоков;
- ostream - класс выходных потоков;
- iostream - класс двунаправленных потоков ввода-вывода;
- istrstream - класс входных строковых потоков;
- ostrstream - класс выходных строковых потоков;
- strstream - класс двунаправленных строковых потоков (ввода-вывода);
- ifstream - класс входных файловых потоков;
- ofstream - класс выходных файловых потоков;
- fstream - класс двунаправленных файловых потоков (ввода-вывода);
- constream - класс консольных выходных потоков.