# include // // Program 17.1, Stephen Kochan, Programming in C. // int main ( int argc, char *argv[] ); int main ( int argc, char *argv[] ) { FILE *in; FILE *out; int c; if ( argc != 3 ) { fprintf ( stderr, "Need two file names.\n" ); return 1; } in = fopen ( argv[1], "r" ); if ( in == NULL ) { fprintf ( stderr, "Can't read %s.\n", argv[1] ); return 2; } out = fopen ( argv[2], "w" ); if ( out == NULL ) { fprintf ( stderr, "Can't write %s.\n", argv[2] ); return 3; } while ( 1 ) { c = getc ( in ); if ( c == EOF ) { break; } putc ( c, out ); } printf ( "\"%s\" has been copied into \"%s\".\n", argv[1], argv[2] ); fclose ( in ); fclose ( out ); return 0; }