首页 > 代码库 > 流迭代器的使用
流迭代器的使用
10.29 编写程序,使用流迭代器读取一个文本文件,存入一个vector中的string里。
#include<iostream>#include<vector>#include<fstream>#include<string>#include<iterator>using namespace std;int main(){ ifstream in("1.txt"); istream_iterator<string> in_iter(in),eof; ostream_iterator<string> out_iter(cout," "); vector<string> vec; while(in_iter!=eof) vec.push_back(*in_iter++); for(auto v:vec) out_iter=v; cout<<endl; return 0;}
10.30 使用流迭代器、sort和copy从标准输入读取一个整数序列,将其排序,并将结果写到标准输出。
#include<iostream>#include<vector>#include<fstream>#include<iterator>#include<algorithm>using namespace std;int main(){ istream_iterator<int> in_iter(cin),eof; ostream_iterator<int> out_iter(cout," "); vector<int> vec; while(in_iter!=eof) vec.push_back(*in_iter++); sort(vec.begin(),vec.end()); copy(vec.begin(),vec.end(),out_iter); cout<<endl; return 0;}
10.33 编写程序,接受三个参数:一个输入文件和两个输出文件的文件名。输入文件保存的应该是整数。使用istream_iterator读取文本输入文件。使用ostream_iterator将奇数写入第一个输出文件,每个值之后都跟一个空格。将偶数写入第二个输出文件,每个值都独占一行。
#include<iostream>#include<vector>#include<fstream>#include<iterator>using namespace std;int main(){ ifstream in("1.txt"); ofstream out1("2.txt"); ofstream out2("3.txt"); istream_iterator<int> in_iter(in),eof; ostream_iterator<int> out_iter1(out1," "); ostream_iterator<int> out_iter2(out2,"\n"); vector<int> vec; while(in_iter!=eof) vec.push_back(*in_iter++); for(auto v:vec) { if(v%2) out_iter1=v; else out_iter2=v; } cout<<endl; return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。