Конечно у нас возникает задача определения конца потока. И такая возможность есть. Функция eof() позволяет определить достигнут ли конец потока. Ранее это можно было сделать только с файлами, а мы сделаем это с потоком в памяти.
// TestStream.cpp : Defines the entry point for the console application.
//
#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];
while (!buf.eof())
{
buf >> buffer;
cout << buffer;
}
cout << buf.rdbuf();
}
В результате из потока будет извлечены все данные и указатель установлен в конец.
