Я намагаюся прочитати цілий потік (кілька рядків) у рядок.
Я використовую цей код, і він працює, але це ображає моє почуття стилю ... Напевно, є простіший спосіб? Може, за допомогою струнних потоків?
void Obj::loadFromStream(std::istream & stream)
{
std::string s;
std::streampos p = stream.tellg(); // remember where we are
stream.seekg(0, std::ios_base::end); // go to the end
std::streamoff sz = stream.tellg() - p; // work out the size
stream.seekg(p); // restore the position
s.resize(sz); // resize the string
stream.read(&s[0], sz); // and finally, read in the data.
Насправді,
const
посилання на рядок також буде корисним, і це може полегшити ситуацію ...
const std::string &s(... a miracle occurs here...)
string s = string(...)
.