#include #include #include #include using namespace std; int main( int argc, const char *argv[]) { if (argc != 3) { cerr << "usage samplecopy from to" << endl; return -1; } ifstream input( argv[1], ios_base::in | ios::binary); ofstream output( argv[2], ios_base::out | ios_base::binary); if (!input.is_open()) { cerr << "can't open " << argv[1] << endl; return -2; } if (!output.is_open()) { cerr << "can't open " << argv[2] << endl; return -2; } // use stream_buf::iterators istreambuf_iterator pin( input), pin_end; ostreambuf_iterator pout( output); copy( pin, pin_end, pout); return 0; }