Ich versuche, einen ganzen Stream (mehrere Zeilen) in eine Zeichenfolge einzulesen.
Ich benutze diesen Code und er funktioniert, aber er verletzt meinen Sinn für Stil ... Sicher gibt es einen einfacheren Weg? Vielleicht mit Stringstreams?
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.
Eigentlich würde ein
const
Verweis auf eine Zeichenfolge auch genügen, und das könnte die Sache einfacher machen ...
const std::string &s(... a miracle occurs here...)
string s = string(...)
.