用于C ++ iostream的StreamReader.ReadToEnd()的等价物

时间:2011-11-09 04:17:36

标签: c++ iostream

有没有简单的方法可以将小文本文件中的所有文本读入带有C ++ STL iostream的std :: string?

我尝试了类似

的内容
ifstream f("file.txt");
stringstream ss;

while(!f.eof()){
    array<char, READ_SIZE> buf;
    auto size = f.rdbuf()->sreadn(buf.data(), buf.size());
    if(size==0)break;
    ss<<string(buf.data(), size);
}

string str=ss.str();

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

ifstream f("file.txt");
ostringstream ss;
ss << f.rdbuf();

string str = ss.str();