Из массива uint8_t в маcсив char на языке "C"

имеем:

сhar str[200];

и есть:

uint8_t buffer [len]; //(какой-то длинны/с какими-то данными)

Нужно в str передать данные форматом %02X

Есть ли решение? что то типа этого

sprintf(str, "%02X %02X %02X %02X %02X %02X %02X %02X", buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], buffer[5], buffer[6], buffer[7]);

но у меня buffer может быть разного размера. Он определяется размером Len


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

Автор решения: Виталий Виденеев

Победил сам) Кому может пригодится

for(int i=0;i<Len;i++){ sprintf(&str[i*3], "%02X ", buffer[i]); }

→ Ссылка