У меня есть шестнадцатеричное число 0xaabbcc
который я хотел бы преобразовать и отформатировать в строку символов как AA:BB:CC
,
с помощью sprintf(myStr, %X, 0xaabbcc);
результаты в char myStr[] = "AABBCC";
Можно ли использовать sprintf
или какая-то другая функция для преобразования и форматирования 0xaabbcc
в AA:BB:CC
?
Вам необходимо заключить строку спецификатора в кавычки. После этого просто разделите байты, которые вы хотите распечатать
unsigned v = 0xAABBCCU;
sprintf(myStr, "%02X:%02X:%02X", v >> 16, (v >> 8) & 0xFFU, v & 0xFFU);
Других решений пока нет …