FileToC-программа для преобразования файла в C / C++ массив - KVV_EL

FileToC-программа для преобразования файла в C / C++ массив

FileToC. Главное окно программы

FileToC — программа для ПК, предназначена для побайтного копирования содержания любых файлов в *.c файл с побайтным содержанием этого файла в виде массива C / C++. При разработке устройств на микро контроллерах (МК) возникает необходимость портирования содержания файла в исходный код программы МК для его последующей передачи, например, в качестве контента Web интерфейса устройства.

В главном окне программы вводится путь к файлу в ручную или с помощью окна выбора файла, которое вызывается при нажатии кнопки «Browse».

FileToC. Главное окно программы
FileToC. Главное окно программы
FileToC окно выбора файла
FileToC окно выбора файла

После выбора файла его полный путь будет отображаться в строке. При необходимости путь можно отредактировать вручную.

FileToC. Главное окно программы с введенным путем
FileToC. Главное окно программы с введенным путем

После чего для получения файла нужно нажать кнопку «Convert», после чего произойдет создание *.c файла, и выводится информационное окно, в котором сообщается об успешном выполнении. В окне для дополнительного контроля отображается объем файла в байтах, полученных в результате вычисления его объема, и количество байт, полученных с помощью счетчика байт при копировании файла.

FileToC. Сообщение об успешном завершении
FileToC. Сообщение об успешном завершении

При работе с программой возможны ошибки:

  • не удалось открыть файл для чтения — если исходный файл не удалось прочитать, возможны ошибки в пути или имени файла;
  • не удалось открыть файл для записи.

В результате преобразования создается файл с именем исходного файла с расширением *.c, внутри которого прикрепляется stdint.h и создаются двае переменные:

  • имяФайла_fileSize = размер файла в байтах;
  • имяФайла_FileData [] = {массив с побайтным содержимым исходного файла};.

Пример:

Исходный файл main.cpp:

//
#include <windows.h>
.......
.......
.......
    return DialogBox(hInst, MAKEINTRESOURCE(DLG_MAIN), NULL, (DLGPROC)DlgMain);
}

Полученный файл main.c:

/*******************
The code generated by FileToC converter
Developed by KVV_EL
kvvel.com
kvv_el@bk.ru
*******************/
 
#include <stdint.h>
 
uint32_t main_fileSize = 5732;
 
 
uint8_t main_FileData [] = {
0x2F, 0x2F, 0x0D, 0x0A, 0x23, 0x69, 0x6E, 0x63, 0x6C, 0x75, 0x64, 0x65, 0x20, 0x3C, 0x77, 
0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x2E, 0x68, 0x3E, 0x0D, 0x0A, 0x23, 0x69, 0x6E, 0x63, 
0x6C, 0x75, 0x64, 0x65, 0x20, 0x3C, 0x63, 0x6F, 0x6D, 0x6D, 0x63, 0x74, 0x72, 0x6C, 0x2E, 
......................
......................
......................
0x4E, 0x29, 0x2C, 0x20, 0x4E, 0x55, 0x4C, 0x4C, 0x2C, 0x20, 0x28, 0x44, 0x4C, 0x47, 0x50, 
0x52, 0x4F, 0x43, 0x29, 0x44, 0x6C, 0x67, 0x4D, 0x61, 0x69, 0x6E, 0x29, 0x3B, 0x0D, 0x0A, 
0x7D, 0x0D, 0x0A
};
Понравилась статья? Поделиться с друзьями:
KVV_EL