2010-08-18 3 views

ответ

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

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

+0

Я получаю следующее сообщение об ошибке: «Struct СТД :: basic_ostream <полукокса, СТД :: char_traits > 'не имеет имени с именем' str ' –

+7

Включить необходимые заголовки .' # включить 'и' #include ' –

+8

Это не ostream. Это ostringstream – Vanuan

3

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

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

Вопрос был на ostream к строке, неostringstream в строку.

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

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

Я дам тебе очки за то, что ты горячая. Хорошо ... и за правильный ответ, хе. – moodboom

+18

Это правильный ответ. Ответ выше, отмеченный как правильный, НЕ отвечает на вопрос. –

Смежные вопросы