【发布时间】:2021-03-16 17:08:07
【问题描述】:
我有一个这样声明的字符串。
CHAR bkp[40] = "dc74699a8381da395f10b"; <- this value comes from querying a registry value
在内存中(使用 VS 内存窗口)我看到了..
0x00000071432FF918 64 63 37 34 36 39 39 61 38 33 38 31 64 61 33 39 35 66 31 30 62 00 .. .. .. ..
我正在尝试将字符串转换为内存,以便在检查该内存地址时看到..
0x00000071432FF918 dc 74 69 9a 83 81 da 39 5f 10 0b .. .. .. ..
我的项目使用 C++,但该函数要求它返回到 char *。所以如果char数组需要转换成C++字符串也可以。
【问题讨论】:
-
不清楚你在问什么,因为术语“字符数组”和“字节数组”在 C 中是可以互换的
-
C 还是 C++?选一个。然后专门定义“字节数组”,即您的意思是要查看字符串而不是组成它的 ASCII 字节,还是想要一些
std::byte的容器,或者什么。 -
看起来他们希望将字母数字序列视为十六进制序列。
-
printf("%02x", bkp[0]);将打印64;printf("%c", bkp[0])将打印d。 -
VS 在查看变量时有一个“十六进制显示”选项。是一样的数据。只是它的显示方式发生了变化。你问的是这个吗?