Поток - последовательность байтов, не зависящая от устройств, с которыми ведется обмен данными.
Примечание:Обмен данными с потоком часто сопровождается участием вспомогательного участка памяти - буфера потока. Если буфер потока используется, поток является буферизированным, если нет - небуферизированным. Использование буфера повышает скорость передачи данных.
Процессы, изображенные на рисунках, протекают следующим образом:
В программах классификация потоков представляет собою следующее:
Отметим, что работу, связанную с заполнением и очисткой буферов ввода-вывода, операционная система практически всегда берет на себя и выполняет без участия программиста. Очень важно, что никакой связи значений байтов, содержащихся в потоке с кодами какого-либо алфавита не предусматривается. Задача программиста при вводе-выводе с помощью потоков - установить связь между участвующими в обмене объектами и последовательностью байтов потока, в которой отсутствуют всякие сведения о типах передаваемой информации. Именно этим мы и попытаемся сегодня заняться.
Ввод-вывод в языке С++. Напомним, что с самого начала изучения языка программирования С, и его логического продолжения С++, мы подключали к нашим программам библиотеку iostream. На самом деле предназначение этой библиотеки встроить в программу часть библиотеки ввода-вывода, построенной на основе механизма классов. Описанные в этом файле средства ввода-вывода предоставляют нам орудие для извлечения данных из потоков и для включения данных в потоки. Примечание:Расшифруем название: iostream.h: stream - поток, "i" - сокр. input - ввод, "o" - сокр. output - вывод. В библиотеке iostream есть четыре предопределенных объекта-потока, ассоциированных со стандартным вводом и выводом. Рассмотрим их:
При подключении к программе файла iostream происходит формирование объектов cin, cout, cerr и clog, т.е. создаются соответствующие стандартные потоки, и программисту становятся доступными связанные с ними средства ввода-вывода. ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|