相当于c++ iostream的StreamReader.ReadToEnd()

Equivalent of StreamReader.ReadToEnd() for C++ iostream

本文关键字:ReadToEnd StreamReader c++ iostream 相当于      更新时间:2023-10-16

是否有任何简单的方法来读取所有文本从一个小的文本文件到std::string与c++ STL iostream?

我已经试过了

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();

有更好的方法吗?

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