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
中,并使用字符串连接它们。最后,我们将结果转换回字符串并输出。