#include #include #include #include #include #include int main(int argc, char **argv) { FILE *fp; int length; int FileLength, position; char buf[1024]; if (argc != 4){ printf("Usage: fileseek <#bytes>\n"); exit (-1); } if ((fp = fopen(argv[1], "r")) == NULL) { perror(argv[1]); exit(1); } position = atoi(argv[2]); length = atoi(argv[3]); fseek(fp, 0, SEEK_END); FileLength = ftell(fp); printf("File Length %d\n", FileLength); if ((position+length) > FileLength){ printf("exceeds file limit\n"); exit(0); } fseek(fp, position, SEEK_SET); fread(buf, sizeof(char), length, fp); fwrite(buf, sizeof(char), length, stdout); fwrite("\n", sizeof(char), 1, stdout); fflush(stdout); }