关于c++流迭代器的问题?求解。
#include<iostream>
#include<algorithm>
#include<string>
#include<iterator>
using namespace std;
int main()
{
int i;
istream_iterator<int> in_it(cin),eof;
ostream_iterator<int> ou_it(cout);
while(cin>>i){};
while(in_it!=eof)
{
*ou_it++=*in_it++;
}
cin.clear ();
cin.get ();
}
为什么不论输入多少个数 ,输出的都是第一个呢?
[解决办法]
- C/C++ code
#include<iostream>#include<algorithm>#include<string>#include<iterator>using namespace std;int main(){int i;istream_iterator<int> in_it(cin),eof;ostream_iterator<int> ou_it(cout);while(cin>>i){};while(in_it!=eof){*ou_it++=*in_it++;}cin.clear ();cin.get ();}
[解决办法]
- C/C++ code
#include<iostream>#include<algorithm>#include<string>#include<iterator>using namespace std;int main(){istream_iterator<int> in_it(cin),eof;ostream_iterator<int> ou_it(cout);while(in_it!=eof){*ou_it++=*in_it++;}cin.clear ();cin.get ();}