stringstream
是C++標準庫中的一個類,它位于<sstream>
頭文件中。這個類允許你使用流操作符<<
和>>
來讀取和寫入字符串,就像操作文件流或控制臺流一樣。這使得處理字符串變得更加靈活和方便。
下面是一些使用stringstream
處理字符串的基本示例:
1. 將字符串寫入stringstream
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss;
std::string str = "Hello, World!";
ss << str;
// 如果你想查看寫入的內容,可以將其轉換回字符串
std::string output = ss.str();
std::cout << output << std::endl; // 輸出: Hello, World!
return 0;
}
2. 從stringstream讀取字符串
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss("Hello, I am a stringstream.");
std::string word;
while (ss >> word) {
std::cout << word << std::endl; // 逐詞輸出:
// Hello,
// I
// am
// a
// stringstream.
}
return 0;
}
在這個例子中,>>
操作符用于從stringstream
中讀取字符串。每次調用>>
時,它都會讀取直到遇到空格或標點符號的內容。
3. 使用stringstream進行字符串格式化
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss;
int age = 25;
std::string name = "Alice";
ss << "My name is " << name << " and I am " << age << " years old.";
std::string output = ss.str();
std::cout << output << std::endl; // 輸出: My name is Alice and I am 25 years old.
return 0;
}
在這個例子中,我們使用<<
操作符將多個值插入到stringstream
中,并使用字符串連接它們。最后,我們將結果轉換回字符串并輸出。