Шаг 167 - Что такое поток

Поток явился развитием идеи о том, что со всеми устройствами можно работать как с файлами. То есть если что-то передается с одного места в другое, то операции обычно совершенно одинаковые. Толи мы отправляем данные из памяти в файл, толи на экран все должно быть универсально. Кроме того, сами устройства довольно сильно различаются. Можно из разделить на два типа, блочные и символьные. Например, монитор это символьное устройство. А вот диск это блочное. Для ускорения работы с блочными устройствами удобно применять буферизацию, а с символьными в этом не необходимости. Вторая мысль была в том, чтобы придать операциям с файлами черты объектно-ориентированного подхода. Итак, основные преимущества по сравнению со стандартным вводом-выводом:

Я приведу пример, который создает пустой поток в памяти, помещает туда данные, а потом сам используется для потока вывода на экран.

// TestStream.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "strstrea.h"
#include "iostream.h"

void main()
{
	strstream buf;
	double d=12.3456;
	buf << "Hello" << " " << d;
	cout << buf.rdbuf() << endl;
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 24.07.2002