Tôi đang cố đọc toàn bộ luồng (nhiều dòng) thành một chuỗi.
Tôi đang sử dụng mã này, và nó hoạt động, nhưng nó làm mất phong cách của tôi ... Chắc chắn có một cách dễ dàng hơn? Có thể sử dụng chuỗi ký tự?
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.
Trên thực tế, một
const
tham chiếu đến một chuỗi cũng sẽ tốt và điều đó có thể làm cho mọi thứ dễ dàng hơn ...
const std::string &s(... a miracle occurs here...)
string s = string(...)
.