我正在使用sstream來解析一個字符串。該字符串包含用空格分隔的任意數量的整數。但sstream不能正確解析輸入。這裏是我的代碼 -sstream無法正常工作?
#include<cstdio>
#include<cstring>
#include<vector>
#include<cstdlib>
#include<sstream>
#include<iostream>
using namespace std;
vector<int> val[10010];
int main(){
int n,i,j,temp;
stringstream stream;
string s;
scanf("%d",&n);
vector<int>::iterator it;
for(i=0; i<n; i++){
getline(cin,s);
stream.str(s);
while(1) {
stream >> temp;
val[i].push_back(temp);
if(!stream)
break;
}
for(it=val[i].begin(); it!=val[i].end(); it++)
printf("%d ",*it);
printf("\n");
}
return 0;
}
下面是測試情況:Code
爲什麼*穿越流*?如果您打算使用C++流解析,您也可以將它們用於輸入和輸出。 –
可能鏈接被破壞? – 4pie0
這裏似乎缺少的另一件事是skipws。 –