Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Basicliostream iostream basiclstreambuf streambuf

Имена синонимов в точности соответствуют именам потоковых классов в традиционной версии биб­лиотеки ввода-вывода 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 | Нарушение авторских прав


Читайте в этой же книге: Флаги форматирования | Манипуляторы ввода-вывода | Explicit ifstream ( ) ; explicit ofstream ( ) ; explicit fstream ( ) ; | Опрос и установка состояния потока | ЛЕКЦІЯ 1 | Правові та організаційні основи охорони праці | Нормативно-правова база охорони праці | Тема 2. Державне управління охороною праці. Державний нагляд і громадський контроль за охороною праці |
<== предыдущая страница | следующая страница ==>
ПРЕДОПРЕДЕЛЕННЫЕ ПОТОКИ| Форматирующие функции-члены

mybiblioteka.su - 2015-2024 год. (0.006 сек.)