stringstream字符串流

例题详解

題目:输入的第一行有一个数字 N 代表接下來有 N 行資料,每一行資料里有不固定個數的整數(最多 20 個,每行最大 200 個字元),請你寫一個程式將每行的总和印出來。

輸入:

3
1 2 3
20 17 23 54 77 60
111 222 333 444 555 666 777 888 999

輸出:

6
251
4995

代码:

 #include<iostream>
#include<sstream>
#include<algorithm>
using namespace std;
int main(){
string s;
int T,a;
cin>>T;
getchar();
while(T--){
getline(cin,s);
stringstream ss(s);
int sum=;
while(){
ss>>a;
if(ss.fail())break;
sum+=a;
}
cout<<sum<<endl;
}
return ;
}

以下是对于stringstream和sprintf和sscanf的理解:

 /*#include<algorithm>
#include<iostream>
#include<sstream>
using namespace std;
int main(){
string s="carea 89 男";
stringstream ss(s);
string a,b;
int c;
ss>>a>>c>>b;
cout<<s<<endl;
cout<<a<<endl<<c<<endl<<b<<endl;
return 0;
}*/
/*
#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
char s[50],ss[50];
int a=154000,b=848;
sprintf(s,"%d plus %d is %d",a,b,a+b);//
cout<<s<<endl;
sscanf(s,"%*s%s",ss);//
puts(ss);
return 0;
}*/
上一篇:Angular记录(4)


下一篇:Android-Menu菜单使用一