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;
|
||
|
}
|