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("")清空类,避免产生错误和浪费内存。