2014-09-05 3 views
0

Как сместить байты с адреса. Если я сохраняю символы «ABCDEF» в 16-битном адресе , начиная с 0x210A.Смещение данных с адреса памяти

0x210A - 'A' 
    0x210B - 'B' 
    0x210C - 'C' 
    0x210E - 'E' 
    0x210F - 'F' 

Это я хочу сменить 10 раз. Ничего, но это нужно хранить в от 0x2100

0x2100 - 'A' 
    0x2101 - 'B' 
    0x2102 - 'C' 
    0x2103 - 'E' 
    0x2104 - 'F' 

Я знаю, сдвига может быть сделано с принятием одной переменной. Я хочу переместить байт из одного адреса в другой.

+2

использовать 'memcpy' или' memmove'. – BLUEPIXY

ответ

2

Вы можете использовать только memmove, например. например:

#include <string.h> 

const char * src = (char *)0x210a; // source address 
char * dst = (char *)0x2100;  // destination address 
const size_t len = 5;    // no of bytes 

memmove(dst, src, len); 
+1

Короткие, Сладкие и в точку. – Joshpbarron

Смежные вопросы