阅读量:74
std::stringstream 是 C++ 标准库中的一个类,它位于 头文件中。std::stringstream 是一个流类,用于在内存中读写字符串。它可以方便地将其他数据类型转换为字符串,或者将字符串解析为其他数据类型。
std::stringstream 的主要作用如下:
- 字符串拼接:使用
<<运算符将多个数据类型拼接成一个字符串。 - 字符串解析:使用
>>运算符从字符串中提取数据,并将其转换为其他数据类型。 - 类型转换:将其他数据类型转换为字符串,或将字符串解析为其他数据类型。
- 格式化输出:使用
setf、setprecision等函数设置输出格式。 - 错误处理:检查在读写过程中是否发生错误,例如输入不匹配、超出范围等。
下面是一个简单的示例,展示了如何使用 std::stringstream:
#include
#include
#include
int main() {
std::stringstream ss;
std::string str;
int num;
// 将整数和字符串拼接到 stringstream 中
ss << "The answer is: " << 42;
// 从 stringstream 中提取字符串
std::getline(ss, str);
std::cout<< str class="hljs-comment">// 清空 stringstream 并重新使用
ss.str("");
ss.clear();
// 将字符串和浮点数拼接到 stringstream 中
ss << "Pi is approximately: " << 3.14159;
// 从 stringstream 中提取字符串
std::getline(ss, str);
std::cout<< str class="hljs-comment">// 将字符串解析为整数
ss.str("12345");
ss >> num;
std::cout << "The number is: "<< num class="hljs-keyword">return 0;
}
这个示例展示了如何使用 std::stringstream 进行字符串拼接、解析和类型转换。