Вход на сайт
Заметки программиста
613 просмотров
Перейти к просмотру всей ветки
Программа bin2h.c:
#include <stdio.h> int main(int argc, char *argv[]) { FILE *i; /*Для чтения файла */ FILE *o; /* Для записи файла */ int is_begin = 0; /* Начало файла */ int buf; /* Переменная, в которую записывается значение текущего байта из файла */ /* Если мало аргументов, то показываем подсказку и выходим из программы*/ if(argc < 2) { printf("bin2h <binary> <output>"); return 0; } i = fopen(argv[1], "r+b"); /* Открываем файл для чтения бинарных данных*/ o = fopen(argv[2], "w"); /* Открываем файл для записи */ fprintf(o, "int buf[] = {"); /* Записываем в файл int buf[] = {*/ /* Циклиться до конца файла */ while(!feof(i)) { /* Если не начало файла, то записываем в файл запятую */ if(is_begin == 1) fprintf(o, ", "); buf = fgetc(i); /* Считываем текущий байт из файла */ fprintf(o, "%d", buf); /* Записываем в файл текущий байт, но в виде цифры */ /* Если начало файла, то устанавливаем что не начало файла */ if(is_begin == 0) is_begin = 1; } fprintf(o, "};"); /* Записываем в файл }; */ fclose(i); /* Закрываем файл */ fclose(o); /* Зарываем файл */ return 0; /* Завершаем программу */ }
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение