2014-09-05 71 views
0

如何從地址移動字節。如果我將字符「ABCDEF」存儲在從0x210A開始的16位地址 中。從內存地址移動數據

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 2014-09-05 10:09:07

回答

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 2014-09-05 10:28:23