Преобразовывать поток в стандартную строку


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

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

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

3   51   2010-08-18 18:32:07

3 ответа:

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

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

вопрос был по теме!--1--> в строке неostringstream в строку.

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

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

попробовать std::ostringstream

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