c stringstream緩衝區的清空

2021-10-06 23:17:59 字數 451 閱讀 6640

stringstream在程式中的作用很廣,可以進行資料間的型別轉換,也可以進行多個字串的拼接。

詳見部落格:

但是,隨之而來的問題是,stringstream的清空並沒有那麼簡單。

用clear的話,記憶體會不斷增長。

在for迴圈中每次呼叫strstream.clear()是希望在每次使用完strstream之後清理strstream占用的資源,但stringstream的clear方法並沒有真正地釋放strstream占用的空間,這樣strstream所占用的空間一直在增長。當size較大時,strstream消耗的記憶體迅速增長,可能出現嚴重問題。

因此,我們在多次轉換中,使用同乙個stringstream物件,需要使用其物件方法str來重置stringstream的buffer,這樣能確保stringstream占用的記憶體不會越積越多。

strstream.str("");//清空緩衝區

C stringstream使用詳解

注意事項 參考文獻 該類包含在標頭檔案中,另外該標頭檔案中還定義了istringstream ostringstream,分別用來進行流的輸入 輸出。除此以外,每個類都有乙個對應的寬字符集版本。void main void main string int wstring void main stri...

C stringstream 介紹與示例

c 引入了ostringstream istringstream stringstream這三個類,要使用他們建立物件就必須包含標頭檔案,通常是用來做資料轉換的。istringstream類是從istream和stringstreambase派生而來,ostringstream是從ostream和 ...

C stringstream類用法詳解

本文主要介紹 c 中 stringstream 類的常見用法。定義了三個類 istringstream ostringstream 和 stringstream,分別用來進行流的輸入 輸出和輸入輸出操作。本文以 stringstream 為主,介紹流的輸入和輸出操作。主要用來進行資料型別轉換,由於 ...