#include "stdio.h" main(argc, argv) int argc; char ** argv; { FILE * f; int i, ch; f = fopen("direct.dat", "rb+"); for(i = 0 ; i < 100 ; i++) { ch = fgetc(f); if (ch != i) fputs("err\n", stderr); } if (fseek(f, 1000, 0)) fputs("couldn't seek\n", stderr); if (ftell(f) != 1000) fputs("seek error\n", stderr); for (i = 1000 ; i < 1100 ; i++) { ch = fgetc(f); if (ch != (i & 0xFF)) fputs("err\n", stderr); } if (fseek(f, 10000, 0)) fputs("couldn't seek\n", stderr); if (ftell(f) != 10000) fputs("seek error\n", stderr); for (i = 10000 ; i < 10100 ; i++) { ch = fgetc(f); if (ch != (i & 0xFF)) fputs("err\n", stderr); } /* seek backwards */ for (i = 9999 ; i > 0 ; i--) { fseek(f, i, 0); if (fgetc(f) != (i & 0xFF)) fputs("backwards error\n", stderr); } fclose(f); }