istringstream类用于执行C++风格的串流的输入操作。
ostringstream类用于执行C风格的串流的输出操作。
strstream类同时可以支持C风格的串流的输入输出操作。
第一种:输入带有空格的或者其他字符串
可以用stringstream分离
string str;
while(getline(cin,str))
{
vector<string> result;
result=split(str,' ');
}
vector<string> split(string str,char sep)
{
stringstream ss(str);
string temp;
vector<string> res;
while(getline(ss,temp,sep))
{
res.push_back(temp);
}
return res;
}
第二种:用·istringstream
int num;
vector<int> nums;
string line;
getline(cin, line);
istringstream iss(line);
while (iss >> num)
{
cout << num << endl;
nums.push_back(num);
}
第三种
#include <iostream>
#include<vector>
#include<string>
#include<sstream>
#include<stdlib.h>
using namespace std;
int main()
{
//int num;
string line;
while (getline(cin, line))
{
stringstream ss(line);
string input;
vector<int> nums;
while (getline(ss, input, ' '))
{
nums.push_back(atoi(input.c_str()));
cout << atoi(input.c_str()) << endl;
}
}
return 0;
}//http://blog.csdn.net/qq_36150323/article/details/77604160