Преобразование ostream в стандартную строку

Я очень новичок в С++ STL, так что это может быть тривиально. У меня есть переменная ostream с некоторым текстом в ней.

ostream* pout;
(*pout) << "Some Text";

Есть ли способ извлечь поток и сохранить его в строке типа char*?

Ответ 1

     std::ostringstream stream;
     stream << "Some Text";
     std::string str =  stream.str();
     const char* chr = str.c_str();

И я объясню, что происходит в ответе на этот question, который я написал не час назад.

Ответ 2

Вопрос был о ostream для строки, а не ostringstream для строки.

Для тех, кто интересуется ответом на фактический вопрос (специфичный для ostream), попробуйте следующее:

void someFunc(std::ostream out)
{
    std::stringstream ss;
    ss << out.rdbuf();
    std::string myString = ss.str();
}

Ответ 3

Попробуйте std::ostringstream

   std::ostringstream os;
   os<<"Hello world";
   std::string s=os.str();
   const char *p = s.c_str();