// len(from) == l; len(to) == l * 2
for (uint16_t i = 0; i < l; ++i) {
*(to++) = hex[(from[i] >> 4) & 0xf];
*(to++) = hex[from[i] & 0xf];
}
}
Почему первые 2 символа выдает неправильно? Например должно быть 1b0006080a0c а выдает d90006080a0c(всегда случайно)
Это какая-то утечка, но я не могу найти
uint8_t from[6] = { 1, 2, 3, 4, 5, 6 };
uint8_t to[6*2+1] = { 0 };
bytes2hex(to, from, 6);
санитайзеры разчехляй
Не умею
Обсуждают сегодня