Предположительно, ваш фактический объект - iostream
или stringstream
.Если iostream
, вы можете сделать это:
std::iostream ss;
ss << "Some text\nlol";
std::string all_of_it((std::istreambuf_iterator<char>(ss)), std::istreambuf_iterator<char>());
std::cout << all_of_it; // Outputs: "Some text", then "lol" on a new line;
Вам нужен istreambuf_iterator
, отсюда и требование для двунаправленного потока, такого как iostream
.Всякий раз, когда у вас есть извлечение, а также вставка, вы должны использовать это, или stringstream
(или fstream
при работе с файлами).
Для stringstream
, просто используйте его .str()
членфункция для получения своего буфера в виде string
.