[an error occurred while processing this directive]
|
typedef dword unsigned long int;
byte buffer[20];
например при
dword value = 0x12345678;
(dword &)buffer[0] = value;
в массиве будут числа 0x78, 0x56, 0x34, 0x12, 0x00,...
т.е. байты заносятся начиная с 0-го элемента массива.
если же
(dword &)buffer[5] = value;
то выходит 0x00, 0x00, 0x00, 0x00, 0x78, 0x56, 0x34, ...
- байты идут с 4-го, а не с 5-го элемента.
решается криво через memcpy(&buffer[5], &value, 4);
как нормально сделать?