У меня есть массив _u8 с шестнадцатеричными числами в нем, например, в виде: A81B6A9D4D2E.И я хочу превратить его в строку в виде: A8-1B-6A-9D-4D-2E и сделать его в виде строки для отправки.
#define SL_MAC_ADDR_LEN UINT8_C(6)
_u8 wlanMacAddressVal[SL_MAC_ADDR_LEN];
Я могу напечатать его сЦикл выглядит следующим образом:
for(int i = 0; i < SL_MAC_ADDR_LEN; i++){
printf(%X, wlanMacAddressVal[i]);
printf("-");
}
Но когда я пытаюсь создать строку / chararray и использовать функцию strcat, мои результаты всегда странные символы.
Я пробовал использовать sprintf () вцикл, но он всегда перезаписывает последние шестнадцатеричные числа
sprintf(wlanMacString,"%X",(_u8 *)wlanMacAddressVal[i]);