64,636
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <iterator>
#include <vector>
#include <numeric>
using namespace std;
int main(int argc,char* argv[])
{
vector<int> numbers;
istream_iterator<int> numbersInput(cin),numbersEnd;
while (numbersInput!=numbersEnd)
{
numbers.push_back(*numbersInput++);
}
cout<<accumulate(numbers.begin(),numbers.end(),0)<<endl;
cin.ignore(1024,'\t');
cin.clear();
numbersInput=istream_iterator<int>(cin); //如何重置该迭代器,再次从cin中读取字符?
cout<<accumulate(numbersInput,numbersEnd,0)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
#include <iostream>
#include <iterator>
#include <vector>
#include <numeric>
using namespace std;
int main(int argc,char* argv[])
{
vector<int> numbers;
istream_iterator<int> numbersInput(cin),numbersEnd;
while (numbersInput!=numbersEnd)
{
numbers.push_back(*numbersInput++);
}
cout<<accumulate(numbers.begin(),numbers.end(),0)<<endl;
//cin.ignore(1024,'\t');
cin.clear();
cin.sync();
numbersInput = cin;
while (numbersInput!=numbersEnd)
{
numbers.push_back(*numbersInput++);
}
cout<<accumulate(numbers.begin(),numbers.end(),0)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
刷新cin用cin.sync();std::vector< int > example;
while( 1 )
{
copy( std::istream_iterator< int >( std::cin ), std::istream_iterator< int >(), back_inserter( example ) );
copy( example.begin(), example.end(), std::ostream_iterator< int >( std::cout, " ") );
}