stringstream常見用法介紹

2021-10-09 07:30:28 字數 1749 閱讀 3759

本文主要介紹 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#includeusing namespace std;

int main()

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

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

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

#include#includeusing namespace std;int main()

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

注意:在本示例涉及的場景下(多次資料型別轉換),必須使用 clear() 方法清空 stringstream,不使用 clear() 方法或使用 str("") 方法,都不能得到資料型別轉換的正確結果。下圖分別是未使用 clear() 方法、使用 str("") 方法時的執行結果:

stringstream常見用法

sstream定義了三個類 istringstream ostringstream 和 stringstream,分別用來進行流的輸入 輸出和輸入輸出操作。為什麼要用stringstream?因為用sprintf 函式將乙個變數從int型別轉換到字串型別。為了正確地完成這個任務,你必須確保證目標緩衝...

stringstream常見用法介紹

定義了三個類 istringstream ostringstream 和 stringstream,分別用來進行流的輸入 輸出和輸入輸出操作。本文以 stringstream 為主,介紹流的輸入和輸出操作。主要用來進行資料型別轉換,由於 使用 string 物件來代替字元陣列 snprintf方式 ...

C 中stringstream常見用法

第一次遇見stringstream,在網上搜了他的用法,發現不是自己想要的,通過看書 查資料,把自己的理解總結一下。1.stringstream物件的使用 先上 string s getline cin,s 輸入字串s,可帶空格because of getline stringstream ss s...