-4
Я хочу преобразовать шестнадцатеричное значение в строку в c. Пример:Covert Hex value to string
a[4] = {0x34, 0x31, 0xF5, 0x43}
это необходимо преобразовать в строку
b[8] = {3431F543}
Я хочу преобразовать шестнадцатеричное значение в строку в c. Пример:Covert Hex value to string
a[4] = {0x34, 0x31, 0xF5, 0x43}
это необходимо преобразовать в строку
b[8] = {3431F543}
решение Sprintf DevSolar является хорошо и легко. Но я придумал более оптимизированную, взломанную версию.
void convert_hex_4b_to_string(char buf[9], int ar[4])
{
static const char tbl[] = "ABCDEF";
buf[0] = tbl[((unsigned)ar[0] >> 4) & 0x0f];
buf[1] = tbl[((unsigned)ar[0]) & 0x0f];
buf[2] = tbl[((unsigned)ar[1] >> 4) & 0x0f];
buf[3] = tbl[((unsigned)ar[1]) & 0x0f];
buf[4] = tbl[((unsigned)ar[2] >> 4) & 0x0f];
buf[5] = tbl[((unsigned)ar[2]) & 0x0f];
buf[6] = tbl[((unsigned)ar[3] >> 4) & 0x0f];
buf[7] = tbl[((unsigned)ar[3]) & 0x0f];
buf[8] = '\0';
}
... при условии, что все целые числа меньше 0x100.
Полезно знать ... – Maroun
[Поиск и исследования.] (Http://stackoverflow.com/help/how-to-ask) – ikh
Я думаю, что 'sprintf' поможет. –