将ostream转换为标准字符串

时间:2010-08-18 14:32:07

标签: c++ stl iostream

我是C ++ STL的新手,所以这可能是微不足道的。我有一个ostream变量,里面有一些文字。

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

有没有办法提取流并将其存储在char*类型的字符串中?

3 个答案:

答案 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

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