Advertisement
Guest User

read_subs.c

a guest
Jul 25th, 2015
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.65 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char** argv)
  4. {
  5.     FILE *fp;
  6.     unsigned int len = 0;
  7.     unsigned char buffer[256];
  8.  
  9.     if ( argc < 3 ){
  10.         fprintf(stderr, "USAGE: %s <FILENAME> <OFFSET>\n", argv[0]);
  11.         exit(0);
  12.     }
  13.     fp = fopen(argv[1], "rb");
  14.     if ( ! fp ){
  15.         fprintf(stderr, "Can't open file %s\n", argv[1]);
  16.         exit(0);
  17.     }
  18.     fseek(fp, atoi(argv[2]), 0);
  19.     do{
  20.         len = fgetc(fp);
  21.         if ( !len ) break;
  22.         if ( ! fread(buffer, 1, len, fp) ){
  23.             fprintf(stderr, "Tried to read an invalid block. File ends before whole block could be read.\n");
  24.             exit(0);
  25.         }
  26.         fwrite(buffer, 1, len, stdout);
  27.     } while( ! feof(fp) );
  28.     fclose(fp);
  29.     exit(1);
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement