streamstring在調用str()時,會返回臨時的string對象。而因為是臨時的對象,所以它在整個表達式結束后將會被析構。
如果需要進一步操作string對象,先把其值賦給一個string變量后再操作。
stringstream ss("012345678901234567890123456789012345678901234567890123456789"); //錯誤用法 const char* cstr2 = ss.str().c_str(); //正確用法 const string& str2 = ss.str(); const char* cstr2 = str2.c_str();
使用stringstream時的清空操作
在C++中可以使用stringstream來很方便的進行類型轉換,字符串串接,不過注意重復使用同一個stringstream對象時要 先繼續(xù)清空,而清空很容易想到是clear方法,而在stringstream中這個方法實際上是清空stringstream的狀態(tài)(比如出錯等),真 正清空內容需要使用.str("")方法。
以上就是小編為大家?guī)淼臏\談stringstream 的.str()正確用法和清空操作全部內容了,希望大家多多支持武林網(wǎng)~
新聞熱點
疑難解答
圖片精選