29 lines
607 B
C
29 lines
607 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int
|
|
main(int argc, char** argv)
|
|
{
|
|
if (argc != 5)
|
|
{
|
|
fprintf(stderr, "extractor [usage]: input_file output_file size offset");
|
|
return EXIT_FAILURE;
|
|
}
|
|
|
|
char* in = argv[1];
|
|
char* out = argv[2];
|
|
int size = atoi(argv[3]);
|
|
int offset = atoi(argv[4]);
|
|
char* data = (char*)malloc(size + 1 * sizeof(char));
|
|
FILE* fin = fopen(in, "r");
|
|
fseek(fin, offset, SEEK_SET);
|
|
fread(data, sizeof(char), size, fin);
|
|
data[size + 1] = 0;
|
|
fclose(fin);
|
|
FILE* fout = fopen(out, "w");
|
|
fwrite(data, sizeof(char), size, fout);
|
|
fclose(fout);
|
|
free(data);
|
|
return EXIT_SUCCESS;
|
|
}
|