头文件
<sstream>
摘抄:
<sstream>定义了三个类:istringstream、ostringstream 和 stringstream,分别用来进行流的输入、输出和输入输出操作。(本文以 stringstream 为主,介绍流的输入和输出操作。)
<sstream> 主要用来进行数据类型转换,由于 <sstream> 使用 string 对象来代替字符数组(snprintf方式),就避免缓冲区溢出的危险;而且,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符的问题。简单说,相比c库的数据类型转换而言,<sstream> 更加安全、自动和直接。
定义
stringstream 变量名
功能1:数据类型转换
假设现在我们
stringstream ss;
int n;
string s;
然后我们ss<<n;
这句话的意思是将int类型的n放入输入流中,只是放入输入流,不是输入
我们再ss>>s;
这个操作是从ss中抽取前面插入的int类型的值,赋值给string类型的s
附上代码:
#include<iostream>
#include<sstream>
using namespace std;
int main()
{
stringstream ss;
string s;
int n=123;
ss<<n;
ss>>s;
cout<<"n="<<n<<endl;
cout<<"s="<<s;
return 0;
}
功能2:多个字符串拼接
(其实本操作完全可以用string代替) 比如说,现在我们有两个字符串,分别是”string”和”stream”
现在我们将这两个字符串放入ss中
ss<<"string"<<"stream"; 如果我们现在输出,输出的结果就是”stringstream”(注意:输出的时候要写成cout<
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com