// cp // implemented with fgetc // ./cp_fgetc data.txt data2.txt // diff data.txt data2.txt // ./cp_fgetc f f2 // diff f f2 // diff if our imp is broken. #include int main(int argc, char *argv[]) { if (argc != 3) { fprintf(stderr, "Usage: %s \n", argv[0]); return 1; } //add code FILE *f1 = fopen(argv[1],"r"); FILE *f2 = fopen(argv[2],"w"); if (f1 == NULL) { perror(argv[1]); return 1; } //add code if (f2 == NULL) { perror(argv[1]); return 1; } //add code int byte; while ((byte=fgetc(f1))!=EOF){ fputc(byte,f2); } fclose(f1); fclose(f2); return 0; }