Как форматировать путь к файлу в С

Существует файл -> "0x1e345f789912345e78991234567899123d567899.txt" Имеется массив -> unsigned char add[20]; в котором находятся 20 чисел.

ВОПРОС:

Возможно ли перевести числа в массиве в формат Hex и подставить в путь к файлу ?

    FILE *fp;
    char fileName[] = "что ввести сюда, если это возможно?";
    char *source_str;
    size_t source_size;
    
    /* Load the source code containing the kernel*/
    fp = fopen(fileName, "r");
    if (!fp) {
        fprintf(stderr, "Failed to load kernel.\n");
        exit(1); 
    }

Ответы (1 шт):

Автор решения: Harry

Например, так:

char xdig(unsigned char x)
{
    if (x <= 9) return '0' + x;
    return 'a' + (x-10);
}

...

unsigned char add[20]; 
char fileName[43] = "0x";
for(int i = 1; i <= 20; ++i)
{
    fileName[i*2] = xdig(add[i-1]>>4);
    fileName[i*2+1] = xdig(add[i-1]&0x0F);
}
fileName[42] = 0;
→ Ссылка