zoukankan      html  css  js  c++  java
  • 【转】istream_iterator, ostream_iterator,copy以及文件序列化

    #include <iostream>
    #include <fstream>
    #include <algorithm>
    #include <cassert>
    #include <numeric>
    #include <string>
    using namespace std;
    
    int main()
    {
     vector<int> vec_int;
     for (int i=0; i<10; i++)
      vec_int.push_back(i);
     partial_sum(vec_int.begin(), vec_int.end(), vec_int.begin());
     vector<double> vec_double;
     for (int i=0; i<10; i++)
      vec_double.push_back(2.11);
     partial_sum(vec_double.begin(), vec_double.end(), vec_double.begin());
     vector<string> vec_str;
     for (int i=0; i<10; i++)
      vec_str.push_back("hkx");
     partial_sum(vec_str.begin(), vec_str.end(), vec_str.begin());
     //
     ostream_iterator<int> out(cout, ";");
     copy(vec_int.begin(), vec_int.end(), out);
     ostream_iterator<double> out1(cout, ";");
     copy(vec_double.begin(), vec_double.end(), out1);
     ostream_iterator<string> out2(cout, ";");
     copy(vec_str.begin(), vec_str.end(), out2);
     //
    
     ofstream ofs;
     ofs.open("hkx.dat");
     assert(ofs!= 0);
     ostream_iterator<int> os(ofs, ";");
     copy(vec_int.begin(), vec_int.end(), os);
     ostream_iterator<double> os1(ofs, ";");
     copy(vec_double.begin(), vec_double.end(), os1);
     ostream_iterator<string> os2(ofs, ";");
     copy(vec_str.begin(), vec_str.end(), os2);
     ofs.close(); //必须close,否则下面的ofstream中读取不到数据
     //
    
     ifstream ifs;
     ifs.open("hkx.dat");
     assert(ifs != NULL);
     vec_int.clear();
     vec_double.clear();
     vec_str.clear();
    
     copy(istream_iterator<int>(ifs), istream_iterator<int>(), back_inserter(vec_int));
     int ttm = vec_int.size();
     copy(vec_int.begin(), vec_int.end(), ostream_iterator<int>(cout, " "));
    
     ifs.clear();
     ifs.ignore(10, ';');
     copy(istream_iterator<double>(ifs), istream_iterator<double>(), back_inserter(vec_double));
     copy(vec_double.begin(), vec_double.end(), ostream_iterator<double>(cout, " "));
    
     ifs.clear();
     ifs.ignore(10, ';');
     copy(istream_iterator<string>(ifs), istream_iterator<string>(), back_inserter(vec_str));
     copy(vec_str.begin(), vec_str.end(), ostream_iterator<string>(cout, " "));
    
     return 0;
    }

    转自:https://www.cnblogs.com/kex1n/archive/2011/01/17/2286432.html

  • 相关阅读:
    JavaScript高级-----8.函数进阶(2)
    JavaScript高级-----7.函数进阶(1)
    2014-10-18 来美半个月
    修手机记
    圆梦美利坚之三:租房记
    圆梦美利坚之二:买机票记
    Hadoop 停止Job
    IIS应用程序池数目
    HTML5 microdata
    Java sql helper[转]
  • 原文地址:https://www.cnblogs.com/swordenchanter/p/13044853.html
Copyright © 2011-2022 走看看