Ostrstream непредсказуемое поведение в VS 2008 - PullRequest
0 голосов
/ 10 февраля 2011
ostrstream  m_msgStream;
m_msgStream.seekp(0);
m_msgStream << "Hello";
m_msgStream << ends;
char *str = m_msgStream .str();

Мы получаем Str NULL.Если мы удалим строку скипа, то она будет работать нормально.Даже тот же код отлично работает с VS 6. Anyidea, как использовать seekp в VS 2008?

1 Ответ

0 голосов
/ 10 февраля 2011

ostrstream устарело. Вместо этого используйте std::ostringstream.

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