2012-09-24 87 views
0

爲什麼下面的第4行打印的是內存地址而不是第2行打印的原始字符串,我該如何糾正?非常感謝。C++ ostream引用

std::stringstream os (std::stringstream::in | std::stringstream::out); 
std::cout << result->studentId; 
os << result->studentId; 
std::cout << &os << std::endl; 
+0

它是具有或不具有 「&」 關於在 「OS」 前線4是相同的。 – rize

回答

3

使用str()函數來獲取底層字符串:

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

以供將來參考這裏的a referencestd::stringstream,其中包含每一個成員函數。

+0

謝謝!我在看cplusplus.com和stdcxx.apache.org,但找不到str()。您指出的參考文獻更易於閱讀。 – rize

0

刪除&操作者

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