// 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; } FILE *input_stream = fopen(argv[1], "r"); if (input_stream == NULL) { perror(""); } FILE *output_stream = fopen(argv[2], "w"); if (output_stream == NULL) { perror(""); } int byte; while ((byte = fgetc(input_stream)) != EOF) { fputc(byte, output_stream); } fclose(input_stream); fclose(output_stream); return 0; }