Accessing Data in a File
#include <algorithm>
#include <cstdlib>
#include <fstream>
#include <functional>
#include <iostream>
#include <iterator>
#include <vector>

using namespace std;

template <class T>
void print(T& c){
   for( typename T::iterator i = c.begin(); i != c.end(); i++ ){
      std::cout << *i << endl;
   }
}

int main(){
   vector<int> output_data( 10 );
   generate( output_data.begin(), output_data.end(), rand );

   transform( output_data.begin(), output_data.end(),output_data.begin(), bind2nd( modulus<int>(), 10 ) );

   ofstream out( "data.txt" );
   if( !out )
   {
      cout << "Couldn't open output file\n";
      return 0;
   }

   copy( output_data.begin(), output_data.end(),ostream_iterator<int>( out, "\n" ) );
   out.close();

   ifstream in( "data.txt" );
   if( !in )
   {
      cout << "Couldn't open input file\n";
      return 0;
   }

   vector<int> input_data( (istream_iterator<int>( in )),istream_iterator<int>() );
   in.close();

   print( output_data );
   print( input_data );
}
