문제

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;
도움이 되었습니까?

해결책

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.

다른 팁

remove & operator

std::cout << os.str() << std::endl;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top