#include #include /* Naopako kopiranje datoteke. */ int main(void) { char *in_name = "freverse.in"; char *out_name = "freverse.out"; FILE *in, *out; long file_pos, pomak = 0L; if ((in = fopen(in_name, "rb")) == NULL) { fprintf(stderr, "Ne mogu citati iz: %s!\n", in_name); exit(1); } if ((out = fopen(out_name, "wb")) == NULL) { fprintf(stderr, "Ne mogu pisati u: %s!\n", out_name); exit(2); } /* Datoteku kopiramo naopako. */ do { /* Pomak unazad od kraja. */ if (fseek(in, --pomak, SEEK_END)) break; /* Zapamti poziciju i ucitaj znak. Bas tim redom! */ file_pos = ftell(in); fputc(fgetc(in), out); /* Sad je pozicija narasla za 1L. */ } while (file_pos != 0L); fclose(in); fclose(out); return 0; }