Ce code est un programme qui crée un tableau de bytes à partir d'un fichier binaire afin d'être utilisé avec l'addon memfile.\\ #include #include #include #define FORMAT "0x%2.2x" #define suffix "};" // 2 bytes #define prefix "char file_array[] = {" // 21 bytes #define sep ", " // 2 bytes #define eol "\n\t" // 2 byte #define BYTES_PER_LINES 20 int main(int argc, char *argv[]) { FILE *in, *out; int i, cpt=1; size_t val; unsigned char value[BYTES_PER_LINES]; unsigned char cont[] = "0xFF"; // 4 bytes - la valeur sera changée unsigned char buflen[25]; if (argc != 3) { printf("%s, convertit un fichier binaire en un tableau de char utilisable dans un programme\n", argv[0]); puts("Ce programme attend 2 arguments de la ligne de commande :"); puts("\t- le chemin de la source\n\t- le chemin pour l'output"); return -1; } if (!(in = fopen(argv[1], "rb"))) return -1; if (!(out = fopen(argv[2], "wb"))) return fclose(in),-1; if (fread(value, sizeof(char), 1, in) != 1) goto cleanup; sprintf(cont, FORMAT, value[0]); fwrite(prefix, sizeof(char), 21, out); fwrite(cont, sizeof(char), 4, out); while ((val = fread(value, sizeof(char), BYTES_PER_LINES, in)) > 0) { fwrite(sep, sizeof(char), 2, out); fwrite(eol, sizeof(char), 2, out); cpt += val; for (i=0; i La taille du tableau est vérifiable en faisant //du -b fichier_binaire//