本文主要介紹 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
#include
using 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...