|
Имена синонимов в точности соответствуют именам потоковых классов в традиционной версии библиотеки ввода-вывода C++. Далее при изложении потокового ввода-вывода и мы будем пользоваться этими именами, поскольку как раз эти имена следует указывать в программах.
Библиотека ввода-вывода содержит два параллельных семейства классов: одно - производное от
streambuf и второе - производное от ios. Оба эти класса являются низкоуровневыми, выполняющими
различный вид задач. Все потоковые классы имеют, по крайней мере, один из этих классов в качестве
базового. Доступ из ios -производных классов к streambuf -производным осуществляется через указатель.
Класс streambuf обеспечивает интерфейс с памятью и физическими устройствами. Функции-члены се
мейства классов streambuf используются ios -производными классами.
Назначение классов потокового ввода-вывода следующее:
istream потоковый класс общего назначения для ввода, являющийся базовым клас-
сом для других потоков ввода;
ifstream потоковый класс для ввода из файла;
istream_withassign потоковый класс ввода для cin;
istrstrearm потоковый класс для ввода строк;
оstream потоковый класс общего назначения для вывода, являющийся базовым
классом для других потоков вывода;
ofstream потоковый класс для вывода в файл;
ostream_withassign потоковый класс ввода для cout, cerr, clog;
ostrstream потоковый класс для вывода строк;
iostream потоковый класс общего назначения для ввода-вывода, являющийся базо-
вым классом для других потоков ввода-вывода;
fstream потоковый класс для ввода-вывода в файл;
strstream потоковый класс для ввода-вывода строк;
stdiostream класс для ввода-вывода в стандартные файлы ввода-вывода;
streambuf абстрактный базовый класс буфера потока;
filebuf класс буфера потока для дисковых файлов;
strstreambuf класс буфера потока для строк;
stdiobuf класс буфера потока для стандартных файлов ввода-вывода.
Назначение почти всех классов следует из их названия. Классы группы _withassign являются производными соответствующих потоковых классов без этого окончания. Они перегружают оператор присваивания, что позволяет изменять указатель на используемый классом буфер. Если подключен заголовочный
Объектно-ориентированное программирование
Лекция 10 Потоковый ввод-вывод 3
файл <iostream>, программы, написанные на языке C++, начинают выполняться с четырьмя открытыми предопределенными потоками, объявленными как объекты классов группы _withassign следующим образом:
istream_withassign cin; // соответствует stdin
ostream_withassign cout; // соответствует stdout
ostream_withassign cerr; // соответствует stderr
ostream_withassign clog; // буферизованный cerr
В Microsoft Visual C++ предопределенные потоки cin, cout, cerr и clog инициализирует специально для этого предназначенный статический класс iostream_init.
ПРЕИМУЩЕСТВА БИБЛИОТЕКИ ПОТОКОВ C++
Библиотека потоков C++ предоставляет несколько преимуществ в сравнении с функциями ввода-вывода библиотеки времени выполнения.
Дата добавления: 2015-07-11; просмотров: 119 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ПРЕДОПРЕДЕЛЕННЫЕ ПОТОКИ | | | Форматирующие функции-члены |