【输入输出】sstream中的istringstream、ostringstream和stringstream进行字符串操作

i string stream

o string stream

string stream

头文件

#include <sstream>

istringstream

可以理解为其的功能是将一个string或者其他东西用cin进行输入操作。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <vector>
#include <queue>
#include <sstream>
using namespace std;
int main()
{	
	istringstream c_room;
	//----------------------------
	c_room.str("hello world !");//放入字符串
	//----------------------------
	string part;
	while(c_room>>part)//类似于cin
		cout<<part<<endl<<"----------------"<<endl;
	return 0;
}

ostringstream

可以理解为其的功能是用cout将一对东西输出到一个string或者其他东西里。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <vector>
#include <queue>
#include <sstream>
using namespace std;
int main()
{	
	ostringstream c_room;
	int a=2000;
	char c='G';
	char s[20]="name";
	double k=9.124;
	c_room<<a<<" "<<c<<endl<<s<<endl<<k<<endl;//放入
	string all;
	all=c_room.str();//字符串导出
	cout<<all<<endl;
	return 0;
}

stringstream

可以理解为既可以cin进去也可以cout出去的容器。

所以stringstream拥有了前两者的功能,一般可以用stringstream代替前两者。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <vector>
#include <queue>
#include <sstream>
using namespace std;
int main()
{	
	stringstream c_room;
	string s="YES ";
	char s1[20];
	strcpy(s1,"hahahha! ");
	int n=20;
	//----------------------------
	c_room<<"you are human !";
	c_room<<s;//输入赋值 
	c_room<<s1;
	c_room<<n;
	//----------------------------
	string part;//输出 
	while(c_room>>part)
		cout<<part<<endl<<"----------------"<<endl;
	return 0;
}

使用前建议先用.str("")清空类,避免产生错误和浪费内存。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值