C stringstream類用法詳解

2022-09-24 19:57:07 字數 1208 閱讀 3539

本文主要介紹 c++ 中 stringstream 類的常見用法。

定義了三個類:istringstream、ostringstream 和 stringstream,分別用來進行流的輸入、輸出和輸入輸出操作。本文以 stringstream 為主,介紹流的輸入和輸出操作。

主要用來進行資料型別轉換,由於 使用 string 物件來代替字元陣列(snprintf方式),就避免緩衝區溢位的危險;而且,因為傳入引數和目標物件的型別會被自動推導出來,所以不存在錯誤的格式化符的問題。簡單說,相比c庫的資料型別轉換而言, 更加安全、自動和直接。

這裡展示乙個**示例,該示例介紹了將 int 型別轉換為 string 型別的過程。示例**(stringstream_test1.cpp)如下:

#include

#include

#include

#include

using namespace std;

int main()

編譯並執行上述**,結果如下:

本示例介紹在 stringstream 中存放多個字串,實現多個字串拼接的目的(其實完全可以使用 string 類實現),同時,介紹 stringstream 的清空方法。

示例**(stringstream_test2.cpp)如下:

#include

#include

#include

using namespace std;

int main()

編譯並執行上述**,結果如下:

從上述**執行結果能夠知道:

清空 stringstream 有兩種方法:clear() 方法以及 str("") 方法,這兩種方法有不同的使用場景。str("") 方法的使用場景,在上面的示例中已經介紹了,這裡介紹 clear() 方法的使用場景。示例**(stringstream_test3.cpp)如下:

#include www.cppcns.comtream>

#include

using namespace std;

int main()

編譯並執行上述**,結果如下:

注意:在本示例涉及的場景下(多次資料型別轉換),必須使用 clear() 方法清空 stringstream,不使用 clear() 方法或使用 str("") 方法,都不能得到資料型別轉換的正確結果。下圖分別是未使用 clear() 方法、使用 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語言中,如果想要將乙個整形變數的資料轉化為字串格式可以使用以下兩種方式 1.itoa 函式。2sprint 函式。但是兩個函式在轉化時,都得需要先給出儲存結果的空間,那空間要給多大呢,就不太好界定,而且轉化格式不匹配時,可能還會得到錯誤的結果甚至程式崩潰。int main 在c 中,可以使用st...