istringstream類是C++標準庫中的一個類,用于從字符串中提取數據。它繼承自istream類,可以像cin一樣從字符串中讀取數據。
其主要作用是將字符串轉換為其他基本數據類型。我們可以使用>>運算符從字符串中提取數據,并將其存儲到相應的變量中。這樣可以方便地將字符串中的數據轉換為其他類型,如整數、浮點數等。同時,istringstream類還可以處理字符串中的空格和換行符等特殊字符。
示例代碼:
#include <iostream>
#include <sstream>
int main() {
std::string str = "123 4.56";
std::istringstream iss(str);
int num1;
float num2;
iss >> num1 >> num2;
std::cout << "num1: " << num1 << std::endl;
std::cout << "num2: " << num2 << std::endl;
return 0;
}
輸出:
num1: 123
num2: 4.56
在該示例中,我們創建了一個字符串流istringstream對象iss,并將字符串"123 4.56"傳遞給它。然后,我們使用>>運算符從iss中提取數據,并將其分別存儲到num1和num2變量中。最終,輸出了num1和num2的值。
總之,istringstream類主要用于從字符串中提取數據,并將其轉換為其他基本數據類型。它可以方便地處理字符串中的數據,并進行類型轉換。