stringstream 是 C++ 標準庫中的一個類,它位于 <sstream> 頭文件中。stringstream 是一個流類,它允許你在內存中讀寫字符串。它提供了多種功能,主要包括:
<< 操作符將多個數據流對象(如整數、浮點數、字符串等)或值拼接到一個 stringstream 對象中。同樣,你也可以使用 >> 操作符從 stringstream 對象中讀取數據。stringstream 可以用于不同類型之間的轉換。例如,你可以將整數轉換為字符串,或者將字符串轉換為整數。stringstream 可以用于解析逗號分隔的值(CSV)、空格分隔的值等。它還支持格式化輸出,允許你控制數據的輸出格式。stringstream 提供了一些方法來檢查流的狀態,如 eof()、fail() 和 bad()。這些方法可以幫助你檢測在輸入或輸出過程中是否發生了錯誤。stringstream 可以用作臨時存儲,允許你在處理數據之前先將其寫入到流中,然后再從流中讀取出來。下面是一個簡單的示例,展示了如何使用 stringstream 來拼接字符串和進行類型轉換:
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss;
// 字符串拼接
ss << "Hello, " << "World!" << std::endl;
// 類型轉換(將整數轉換為字符串)
int age = 25;
ss << "I am " << age << " years old.";
// 從字符串流中讀取數據
std::string str;
getline(ss, str, '!'); // 使用 '!' 作為分隔符
std::cout << "Extracted string: " << str << std::endl;
return 0;
}
這個示例展示了 stringstream 的基本用法,包括字符串拼接、類型轉換和從流中讀取數據。