Team Ai
Modelpublic

AryaWu/sqlite

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
extract.c47 linesDownload Raw Back to tool
1/*2** Extract a range of bytes from a file.3**4** Usage:5**6**    extract FILENAME OFFSET AMOUNT7**8** The bytes are written to standard output.9*/10#include <stdio.h>11#include <stdlib.h>12 13int main(int argc, char **argv){14  FILE *f;15  char *zBuf;16  int ofst;17  int n;18  size_t got;19 20  if( argc!=4 ){21    fprintf(stderr, "Usage: %s FILENAME OFFSET AMOUNT\n", *argv);22    return 1;23  }24  f = fopen(argv[1], "rb");25  if( f==0 ){26    fprintf(stderr, "cannot open \"%s\"\n", argv[1]);27    return 1;28  }29  ofst = atoi(argv[2]);30  n = atoi(argv[3]);31  zBuf = malloc( n );32  if( zBuf==0 ){33    fprintf(stderr, "out of memory\n");34    return 1;35  }36  fseek(f, ofst, SEEK_SET);37  got = fread(zBuf, 1, n, f);38  fclose(f);39  if( got<n ){40    fprintf(stderr, "got only %d of %d bytes\n", got, n);41    return 1;42  }else{43    fwrite(zBuf, 1, n, stdout);44  }45  return 0;46}47