Преобразовать поток в строку (не поток) - PullRequest
2 голосов
/ 27 мая 2011

Мне специально нужно преобразовать ostream в строку.Если быть более точным, у меня есть функция:

ostream& f(ostream& out); 

(эта функция в основном используется для полиморфной перегрузки оператора <<). В этом случае мне нужно получить то, что находится в потоке, встрока.После некоторых исследований я попытался это сделать: </p>

stringstream test;
ofstream tmp;
test << f(tmp);
string foo(test.str());

Но строка содержит только 0.У кого-нибудь есть решение для этого?

Спасибо

1 Ответ

0 голосов
/ 27 мая 2011

Попробуйте использовать ostringstream класс вместо ofstream

ostringstream test;
test << f(test);
string foo(test.str());
...