У меня есть два объекта, заголовок и DF. позволяет говоритьC - Почему мой буфер не печатает правильно?
header = CCCCCC7E
и
DF = 01020304
,
значение не должно буфера быть CCCCCC7E01020304
?
по какой-то причине, когда я печатал я получил:
7EFFFFFFCCFFFFFFCCFFFFFFCCFFFFFFCCFFFFFFCCFFFFFFCCFFFFFFCCFFFFFFCCFFFFFFCC00FFFF FFCC00000000000004030201FFFFFF8967341200000000
это, как я печатал:
for (int i = 0; i < sizeof(buffer); i++)
{ printf("%02X", buffer[i]); }
это код:
struct Header header;
struct Data_Format DF;
unsigned char buffer[TOTAL_SIZE];
header.Start = 0x7E;
header.Options = 0x00;
header.PacketLength = 0x00;
header.VCP = 0x00;
header.Reserved = 0x00;
header.Return = 0x00;
DF.Address = 0x01020304; //real value: NULL
DF.Result = 0x1234; //real value: NULL
DF.Size = 0x6789; //real value: NULL
memcpy(buffer,&header, sizeof(Header));
memcpy(buffer+sizeof(Header), &DF, sizeof(Data_Format));
Покажите нам код, где 'buffer' объявлен и заполнен –
неполный код не дает представления о конечном выходе. –
Недостаточно кода или информации в вашем вопросе, я предлагаю прочитать [контрольный список вопросов переполнения стека] (http://meta.stackoverflow.com/questions/156810/stack-overflow-question-checklist). Вы также можете узнать, как создать [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). –