Потоковые операторы представлены операторами помещения в поток и извлечение из потока.
Ввод << переменная Вывод >> переменная
Давайте посмотрим все это на примерах. Помещаем данные в поток.
#include "stdafx.h" #include "iostream.h" #include "strstrea.h" void main() { double d=1.34556; int i=10; strstream buf; buf << d << " " << i << " " << "Hello"; cout << buf.rdbuf(); }
Но данные из потока можно и извлекать.
#include "stdafx.h" #include "iostream.h" #include "strstrea.h" void main() { double d=1.34556; int i=10; strstream buf; buf << d << " " << i << " " << "Hello"; char buffer[255]; buf >> buffer; cout << buffer; buf >> buffer; cout << buffer; }
Вот тут в данном случае возникает интересный эффект. Так как поток строковый, пробелы считаются разделителями элементов. И при извлечении из потока мы будем получать слова игнорируя пробелы.