Здравствуйте, loknalori, Вы писали:
L>Выражение basic_istream >> string не катит т.к. вычитается произвольное колл-во символов, промежуточный буфер тоже не катит,
L>а запись вида
L>L>str.resize(4);//Не обязательно так, но суть такова
L>stream.read(&str[0],4);
L>
L>тоже не катит, т.к. на ресайзинге может кто-то поправить значение, да и вобще криво с элементами контейнеров на прямую работать.
L>Как быть? std::istream_iterator<unsigned char> iter(stream);
int count = 4;
while( count-- )
str += *iter++;