#include <iostream> #include <sstream> int main(){
std::string data ="10 20.5";
std::istringstream iss(data); int i; double d;
iss >> i >> d;
std::cout<<"Integer: "<< i << std::endl;
std::cout<<"Double: "<< d << std::endl; return0; }
输出结果:
Integer:10Double:20.5
向字符串写入数据
下面是一个使用 ostringstream 将数据写入字符串的例子:
#include <iostream> #include <sstream> int main(){
std::ostringstream oss; int i =100; double d =200.5;
oss << i <<" "<< d;
std::string result = oss.str();
std::cout<<"Resulting string: "<< result << std::endl; return0; }
输出结果:
Resultingstring:100200.5
使用stringstream进行读写操作
下面是一个使用 stringstream 同时进行读取和写入操作的例子:
#include <iostream> #include <sstream> int main(){
std::string data ="30 40.5";
std::stringstream ss(data); int i; double d; // 从stringstream读取数据
ss >> i >> d;
std::cout<<"Read Integer: "<< i <<", Double: "<< d << std::endl; // 向stringstream写入数据
ss.str("");// 清空stringstream
ss <<"New data: "<<50<<" "<<60.7;
std::string newData = ss.str();
std::cout<<"New data string: "<< newData << std::endl; return0; }
输出结果:
ReadInteger:30,Double:40.5New data string:New data:5060.7
总结
sstream 是 C++ 标准库中一个非常有用的组件,它简化了字符串和基本数据类型之间的转换。通过上述实例,我们可以看到如何使用
istringstream、ostringstream 和 stringstream 来实现这些转换。掌握这些技能将帮助你在
C++ 编程中更加高效地处理字符串数据。