1 /* Converts a binary file into a C integer array (for inclusion in
6 $Id: bin2c.c,v 1.1 2006-07-11 01:35:23 nkeynes Exp $
7 Note: Licensed under the new BSD license, see README.KOS -NK
12 void convert(char *ifn, char *ofn, char *prefix) {
14 unsigned char buffer[2048];
21 printf("error: can't open input or output file\n");
25 fseek(i, 0, SEEK_END); left = ftell(i); fseek(i, 0, SEEK_SET);
28 fprintf(o, "const int %s_size = %d;\n", prefix, left);
29 fprintf(o, "const unsigned char %s_data[%d] =", prefix, left);
34 red = fread(buffer, 1, 2048, i);
36 for (q=0; q<red; q++) {
37 fprintf(o, "0x%02x, ", buffer[q]);
49 int main(int argc, char **argv) {
54 if (argc != 2 && argc != 3) {
55 printf("usage: bin2c <input> <output> [prefix]\n");
59 prefix = (argc == 3) ? argv[3] : "file";
60 convert(argv[1], argv[2], prefix);
.