我是C ++ STL的新手,所以这可能是微不足道的。我有一个ostream
变量,里面有一些文字。
ostream* pout;
(*pout) << "Some Text";
有没有办法提取流并将其存储在char*
类型的字符串中?
答案 0 :(得分:143)
问题是在ostream
上将字符串而不是 ostringstream
添加到字符串中。
对于有兴趣回答实际问题的人(具体到ostream
),请尝试:
void someFunc(std::ostream out)
{
std::stringstream ss;
ss << out.rdbuf();
std::string myString = ss.str();
}
答案 1 :(得分:56)
std::ostringstream stream;
stream << "Some Text";
std::string str = stream.str();
const char* chr = str.c_str();
我解释一下这个question的答案正在发生什么,这是我一小时前写的。
答案 2 :(得分:6)
std::ostringstream os;
os<<"Hello world";
std::string s=os.str();
const char *p = s.c_str();