Ostrstream在VS 2008中无法预测的行为

时间:2011-02-10 11:07:58

标签: c++ visual-studio-2008 stl

ostrstream  m_msgStream;
m_msgStream.seekp(0);
m_msgStream << "Hello";
m_msgStream << ends;
char *str = m_msgStream .str();

我们得到str NULL。如果我们删除睡眠线,那么它工作正常。甚至相同的代码也可以与VS 6一起使用。任何想法如何在VS 2008中使用seekp?

1 个答案:

答案 0 :(得分:0)

ostrstream已弃用。请改用std::ostringstream

#include <sstream>
std::ostringstream m_msgStream;
m_msgStream << "Hello";
std::string str = m_msgStream().str();
const char* cstr = str.c_str();