Lendo diretamente de um std :: istream para um std :: string
Existe alguma maneira de ler um número conhecido de bytes, diretamente em um std :: string, sem criar um buffer temporário para fazer isso?
por exemplo, atualmente eu posso fazer isso por
boost::uint16_t len;
is.read((char*)&len, 2);
char *tmpStr = new char[len];
is.read(tmpStr, len);
std::string str(tmpStr, len);
delete[] tmpStr;