例题1:
输入多行数据,每行包含若干个以空格隔开的整数,输出每行中所有整数之和
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
int main(){string line;while(getline(cin,line)){int sum=0,x;stringstream ss(line);while(ss>>x) sum+=x;cout<<sum<<"\n"; }return 0;
}
*读取string 对象:
1.直接读取,string对象会自动忽略开头的空白(空格换行制表符)并从第一个真正的字符读起,直到遇见下一个空白为止。
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
int main(){string s;cin>>s;cout<<s<<endl;
}
// hello world
//hello
int main(){string s,s1;cin>>s>>s1;cout<<s<<s1<<endl;
}
//hello world
//helloworld
2.读取一行
最终得到的字符串中保留输入时的空白字符,用getline函数代替>>运算符。
getline一遇到换行符,就结束读取操作并返回结果。如果输入的一开始就是换行符,所得结果是个空string
#include<iostream>
#include<string>
using namespace std;int main(){string line;while(getline(cin,line)){cout<<line<<endl;}
}
// hello oworld 1
// hello oworld 1