Преобразовать шестнадцатеричный 0xAABBCC в строку «AA: BB: CC» используя sprintf

У меня есть шестнадцатеричное число 0xaabbcc который я хотел бы преобразовать и отформатировать в строку символов как AA:BB:CC,

с помощью sprintf(myStr, %X, 0xaabbcc); результаты в char myStr[] = "AABBCC";

Можно ли использовать sprintf или какая-то другая функция для преобразования и форматирования 0xaabbcc в AA:BB:CC?

0

Решение

Вам необходимо заключить строку спецификатора в кавычки. После этого просто разделите байты, которые вы хотите распечатать

unsigned v = 0xAABBCCU;
sprintf(myStr, "%02X:%02X:%02X", v >> 16, (v >> 8) & 0xFFU, v & 0xFFU);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]