将ostream转换为标准string

我对C ++ STL很新,所以这可能是微不足道的。 我有一个ostreamvariables,其中包含一些文本。

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

有没有一种方法来提取stream并将其存储在char*types的string中?

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

我解释了这个问题的答案,我不是一个小时前写的。

问题是ostreamstring, 而不是 ostringstreamstring。

对于那些对实际问题感兴趣的人(特定于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();