C++sstream三种输入输出流

名字 作用
stringstream 转换流
ostringstream 输出流
istringstream 输入流

stringstream

stringstream常用于数据类型的转换,当字符串中有多种数据类型或多个数据并且有空格隔开时可以用stringstream直接分隔开,当需要多次数据类型转换可以通过clear()函数清空流中内容进行下次数据类型转换。

#include
#include
using namespace std;
int main()
{
     
	stringstream sstream;
	sstream.str("dlsfjafdlksadf 32423432");
	string str;
	int num;
	sstream>>str;
	sstream>>num;
	cout<<str<<endl;
	cout<<num<<endl;
	return 0; 
}
 

ostringstream

ostringstream将内容输入到流中,然后将流中内容赋给字符串或字符数组

#include
#include
using namespace std;
int main()
{
     
	ostringstream sstream;
	sstream<<"dlfaj"<<endl<<"dlsfj";
	string sstr=sstream.str();
	cout<<sstream.str()<<endl;
	cout<<sstr<<endl;
	return 0; 
}
 

istringstream

istringstream可以根据空格将流中内容分隔开并赋给字符串(例一),也可以通过getline按照自定义格式将流中内容赋给字符串(例二)
例一

#include
#include
using namespace std;
int main()
{
     
	string str,temp;
	str="34234 324234 34234 324";
	istringstream is(str);
	while(is>>temp)
	{
     
		cout<<temp<<endl;
	}
	return 0; 
}

例二

#include
#include
using namespace std;
int main()
{
     
	string str,temp;
	str="34234,324234,34234,324";
	istringstream is(str);
	while(getline(is,temp,','))
	{
     
		cout<<temp<<endl;
	}
	return 0; 
}
 

你可能感兴趣的:(c/c++,c++,字符串)