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