Вот мой буфер, и любой может объяснить, как я могу сохранить шестнадцатеричное значение внутри него, и когда я пытаюсь напечатать buffer[0]
, он печатает 0 вместо 500. Я пытаюсь заполнить элемент буфера с помощью идентификатор, который имеет 11 бит, я знаю, что символ имеет 1 байт, т.е. 8 бит, и он не может хранить значение. у меня есть другие элементы для заполнения в буфер, и они имеют тип char. Поэтому я не могу изменить тип буфера с char на int. Как я могу решить мою проблему.
char *buffer;
buffer = (char *)malloc(10*(sizeof(frameRd))); //frameRd is of 16bytes
buffer[0] = frameRd->id;
for(int i =1;i<15;i++)
{
buffer[i] = frameRd->data;
}
for(int i =0,i<16;i++)
{
printf("%4X",buffer[i]);
}
где frame->id = 0x500;
, когда я печатаю это значение на консоли, он печатает buffer[0]
как 0 и, конечно, потому что