我试图将整个流(多行)读入一个字符串。
我在用这个代码,它能用,但是它冒犯了我的风格感... 肯定有更简单的方法吧?也许用弦流?
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...)