#include #include int main(int argc, char *argv[]){ long loc; FILE *in, *out; char ch; if(argc != 3) { printf("Usage: revcopy .\n"); exit(1); } if((in = fopen(argv[1], "rb")) == NULL) { printf("Cannot open input file.\n"); exit(1); } if((out = fopen(argv[2], "wb"))==NULL) { printf("Cannot open output file.\n"); exit(1); } /* find end of source file */ fseek(in, 0L, SEEK_END); loc = ftell(in); /* copy file in reverse order */ loc = loc-1; /* back up past end-of-file mark */ while(loc >= 0L) { fseek(in, loc, SEEK_SET); ch = fgetc(in); fputc(ch, out); loc--; } fclose(in); fclose(out); return 0;}