Эквивалент StreamReader.ReadToEnd () для C ++ iostream - PullRequest
1 голос
/ 09 ноября 2011

Есть ли какой-нибудь простой способ прочитать весь текст из небольшого текстового файла в 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();

Еще лучшеспособ сделать это?

1 Ответ

2 голосов
/ 09 ноября 2011
ifstream f("file.txt");
ostringstream ss;
ss << f.rdbuf();

string str = ss.str();
...