int u = 0;
int main(void)
{
int i = 0;
while (sscanf(string_from_buff, "%2x", &u) == 1)
{
printf("%x", u);
buff[i]=u;
i++;
string_from_buff += 2;
}
printf("\n%x\n", buff[0]);
printf("%x\n", buff[1]);
return 0;
}
Добрый вечер. Есть код, пытаюсь строку из hex чисел преобразовать в массив, но почему-то при выводе в массиве по 0 индексу выводится ffffffa3, при том, что сохраняется туда точно только "0ха3", может кто подсказать? ) а то чет я в тупике))
вы printf format specification перечитайте, %x не похоже на buff[0] который char
так мне надо чтобы вывело на экран именно в hex формате значение которое хранится. printf("%x\n", buff[1]); выводит правильно, "63"
перечитайте еще что будет в случае ошибочного спецификатора и что такое undefined behavior
Обсуждают сегодня