我有一个 void 指针,我想存储 long at 的二进制值。例如:
void * p;
long number;
p = malloc(16);
p = memset(p, 0, 16);
number = 15;
/* PRINTS FIRST 16 BYTES */
for(i = 0; i < memSize; i++)
printf("%02x", ((unsigned char *) p) [i]);
printf("\n");
上面的代码将打印
00000000000000000000000000000000
我想将前 8 个字节设置为“数字”的值,例如:
000000000000000F0000000000000000
有没有一种简单的方法可以做到这一点?我想位移会起作用,但这可能会变得非常乏味。