Как форматировать путь к файлу в С
Существует файл -> "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;