File C++

#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
template 
void print(T& c){
   for( typename T::iterator i = c.begin(); i != c.end(); i++ ){
      std::cout << *i << endl;
   }
}
int main(){
   vector output_data( 10 );
   generate( output_data.begin(), output_data.end(), rand );
   transform( output_data.begin(), output_data.end(),output_data.begin(), bind2nd( modulus(), 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( out, "\n" ) );
   out.close();
   ifstream in( "data.txt" );
   if( !in )
   {
      cout << "Couldn't open input file\n";
      return 0;
   }
   vector input_data( (istream_iterator( in )),istream_iterator() );
   in.close();
   print( output_data );
   print( input_data );
}