从内存中从 src 开始获取 size 字节生数据到指定字符串 dst (自己保证长度)
#include <iostream>
using namespace std;
//从src开始dump size个字节的内存数据到dst,自行保证dst可用
void hex_dump(const unsigned char *src, unsigned char *dst, int size) {
for (int i = 0; i != size; ++i) {
unsigned char rignt = src[i] % 16;
unsigned char left = src[i] >> 4;
if (left >= 0 && left <= 9) {
dst[2*i] = left + '0';
} else if (left >= 10 && left <= 15) {
dst[2*i] = left - 10 + 'A';
}
if (rignt >= 0 && rignt <= 9) {
dst[2*i+1] = rignt + '0';
} else if (rignt >= 10 && rignt <= 15) {
dst[2*i+1] = rignt - 10 + 'A';
}
}
}
int main () {
int a = 0x12345678;
char dst[9] = {};
hex_dump((unsigned char *)&a, (unsigned char *)dst, 4);
cout << dst;
}