打印内存内容
https://stackoverflow.com/questions/2376915/how-to-print-out-the-memory-contents-of-a-variable-in-c
#include <stdio.h>
#include <string.h>
#include <iostream>
int main()
{
double d = 234.5;
/* 1. use a union */
union u
{
double d;
unsigned char c[sizeof(double)];
};
union u tmp;
size_t i;
tmp.d = d;
for (i = 0; i < sizeof(double); ++i)
{
printf("%02x\n", tmp.c[i]);
}
std::cout << std::endl;
/* 2. memcpy */
unsigned char data[sizeof d];
memcpy(data, &d, sizeof d);
for (i = 0; i < sizeof d; ++i)
{
printf("%02x\n", data[i]);
}
std::cout << std::endl;
/* 3. Use a pointer to an unsigned char to examine the bytes */
unsigned char *p = (unsigned char *)&d;
for (i = 0; i < sizeof d; ++i)
{
printf("%02x\n", p[i]);
}
return 0;
}

浙公网安备 33010602011771号