stringstream是C++中用來(lái)進(jìn)行數(shù)據(jù)格式化的類(lèi),它可以將不同的數(shù)據(jù)類(lèi)型轉(zhuǎn)換成字符串,或者將字符串轉(zhuǎn)換成其他數(shù)據(jù)類(lèi)型。stringstream可以方便地將數(shù)據(jù)轉(zhuǎn)換成需要的格式,例如將數(shù)字轉(zhuǎn)換成字符串,或者將多個(gè)數(shù)據(jù)拼接成一個(gè)字符串。
一個(gè)常見(jiàn)的用法是將多個(gè)數(shù)據(jù)轉(zhuǎn)換成一個(gè)字符串,例如:
#include <iostream>
#include <string>
#include <sstream>
int main() {
int num = 123;
double d = 3.14;
std::string str = "Hello";
std::stringstream ss;
ss << num << " " << d << " " << str;
std::string result = ss.str();
std::cout << result << std::endl;
return 0;
}
上面的例子中,我們將一個(gè)整數(shù)、一個(gè)浮點(diǎn)數(shù)和一個(gè)字符串拼接成一個(gè)字符串,使用stringstream的<<操作符來(lái)進(jìn)行格式化輸出,最后將結(jié)果存儲(chǔ)在一個(gè)字符串中并輸出。
另一個(gè)常見(jiàn)的用法是將字符串轉(zhuǎn)換成其他數(shù)據(jù)類(lèi)型,例如:
#include <iostream>
#include <string>
#include <sstream>
int main() {
std::string str = "123";
int num;
std::stringstream ss(str);
ss >> num;
std::cout << "Converted number: " << num << std::endl;
return 0;
}
上面的例子中,我們將一個(gè)字符串轉(zhuǎn)換成一個(gè)整數(shù),使用stringstream的>>操作符來(lái)進(jìn)行格式化輸入,最后將結(jié)果存儲(chǔ)在一個(gè)整數(shù)變量中并輸出。