<sstream>
是 C++ 标准库中的一个头文件,它提供了用于内存中的字符串流操作的类。这些类允许像操作文件流一样操作字符串,包括输入和输出操作。<sstream>
允许你将字符串当作输入/输出流来使用,这使得从字符串中读取数据或将数据写入字符串变得非常简单。
<sstream> 头文件,主要包含三个类:
std::istringstream:用于从字符串中读取数据。
std::ostringstream:用于向字符串中写入数据。
std::stringstream:同时支持从字符串中读取和向字符串中写入数据。
<sstream> 基本语法:
// 使用istringstream
std::istringstream iss("some data");
// 使用ostringstream
std::ostringstream oss;
// 使用stringstream
std::stringstream ss;
示例:std::istringstream
从字符串中提取数据
iostream>
#include <sstream>
#include <string>
int main() {
std::string data = "123 45.67 Hello";
std::istringstream iss(data);
int intValue;
double doubleValue;
std::string strValue;
iss >> intValue >> doubleValue >> strValue;
std::cout << "Integer: " << intValue << std::endl;
std::cout << "Double: " << doubleValue << std::endl;
std::cout << "String: " << strValue << std::endl;
return 0;
}
示例:std::ostringstream
向字符串中写入数据
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::ostringstream oss;
oss << 123 << " " << 45.67 << " " << "Hello";
std::string result = oss.str();
std::cout << result << std::endl;
return 0;
}
示例:std::stringstream
支持,从字符串中读取和写入数据
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss;
// 向字符串流中写入数据
ss << 123 << " " << 45.67 << " " << "Hello";
// 从字符串流中读取数据
int intValue;
double doubleValue;
std::string strValue;
ss >> intValue >> doubleValue >> strValue;
std::cout << "Integer: " << intValue << std::endl;
std::cout << "Double: " << doubleValue << std::endl;
std::cout << "String: " << strValue << std::endl;
return 0;
}