Deutsch

Заметки программиста

19.12.23 14:07
Заметки программиста
 
uscheswoi_82 коренной житель
uscheswoi_82

Программа 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; /* Завершаем программу */
}
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
 

Перейти на