#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
void print_error(const char*, const char* = " ");
int main(int argc, char* argv[])
{
if (3 != argc)
print_error("usage: copy source dest");
ifstream in( argv[1], ios::binary );
if (!in)
print_error( "can't open", argv[1] );
ofstream out( argv[2], ios::binary );
if (!out)
print_error( "can't open", argv[2] );
char ch;
while ( in.get(ch) )
out.put( ch );
if ( !in.eof() )
print_error("something strange happened");
return 0;
}
void print_error(const char* p, const char* p2) {
cerr << p << ' ' << p2 << '\n';
exit(1);
}