Блин, работы-то на 5 минут.
//-------------------------------------------------------------
// Преобразование двоичного файла в Си
//-------------------------------------------------------------
#include
#include
#include
#include
#include
//-------------------------------------------------------------
// Определения знаковых и беззнаковых типов
//-------------------------------------------------------------
typedef signed char schar;
typedef unsigned char byte;
typedef unsigned int word;
typedef unsigned long dword;
FILE *f;
FILE *o;
//-------------------------------------------------------------
// Основная программа
//-------------------------------------------------------------
main(int argc, char **argv) /* Основная программа */
{
int i, c;
int m, v;
if (argc != 3)
{
printf("Преобразование двоичного файла в Си (версия V1.00)\n\
Вызов:\n\
bin2c входной_файл выходной_файл\n\
\n");
return 1;
}
// Откроем входные файлы
if ((f = fopen(argv[1], "rb")) == NULL)
{
printf("Не найден файл '%s'\n", argv[1]);
exit(4);
}
if ((o = fopen(argv[2], "wt")) == NULL)
{
printf("Ошибка создания файла '%s'\n", argv[2]);
exit(4);
}
i = 0;
while ((c = fgetc(f)) != EOF)
{
if (i == 0)
fprintf(o, "{");
else if ((i % 8) == 0)
fprintf(o, ",\n ");
else
fprintf(o, ", ");
fprintf(o, "0x%02X", c & 0xFF);
i++;
}
fprintf(o, "};\n");
fclose(o);
fclose(f);
return 0;
}