#include void filecopy(FILE *fp1, FILE *fp2) { char c; while ((c = getc(fp1)) != EOF) // when file ends, EOF is read putc(c, fp2); } int main(int argc, char *argv[]) { FILE *fp1, *fp2; if (argc != 3) // error handling { printf("Program requires two file arguments\n"); return -1; // if error, terminate } fp1 = fopen(argv[1], "r"); // directly using fp2 = fopen(argv[2], "w"); // arguments as filenames filecopy(fp1, fp2); fclose(fp1); fclose(fp2); }