#include <iostream>
#include <sstream>
#include <string>
int main ()
{
std::stringstream ss;
ss << 55;
const char* c1 = ss.str().c_str(); // *c1 = \0
std::cout << "c1: " << c1 << std::endl;
// looks to be doing the same, but in stages
std::string s = ss.str();
const char* c2 = s.c_str(); // *c2 = "55"
std::cout << "c2: " << c2 << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KCmludCBtYWluICgpCnsKICAgIHN0ZDo6c3RyaW5nc3RyZWFtIHNzOwogICAgc3MgPDwgNTU7CgogICAgY29uc3QgY2hhciogYzEgPSBzcy5zdHIoKS5jX3N0cigpOyAvLyAqYzEgPSBcMAoJc3RkOjpjb3V0IDw8ICJjMTogIiA8PCBjMSA8PCBzdGQ6OmVuZGw7CiAgICAvLyBsb29rcyB0byBiZSBkb2luZyB0aGUgc2FtZSwgYnV0IGluIHN0YWdlcwogICAgc3RkOjpzdHJpbmcgcyA9IHNzLnN0cigpOwogICAgY29uc3QgY2hhciogYzIgPSBzLmNfc3RyKCk7IC8vICpjMiA9ICI1NSIKICAgIHN0ZDo6Y291dCA8PCAiYzI6ICIgPDwgYzIgPDwgc3RkOjplbmRsOwp9