Domanda

Why does line 4 in the following print a memory address instead of the original string printed by line 2, and how do I correct this? Many thanks.

std::stringstream os (std::stringstream::in | std::stringstream::out);
std::cout << result->studentId;
os << result->studentId;
std::cout << &os << std::endl;
È stato utile?

Soluzione

Use the str() function to get the underlying string:

std::cout << os.str() << std::endl;

For future reference here's a reference on std::stringstream, which contains every member function.

Altri suggerimenti

remove & operator

std::cout << os.str() << std::endl;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top