Преобразование 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();
Ответ 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();