[an error occurred while processing this directive]
как записать переменную в массив на с++ в CrossStudio
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Rius 17 октября 2006 г. 10:55

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);
как нормально сделать?

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание