【发布时间】:2021-01-29 21:12:24
【问题描述】:
我正在尝试将 ULONG_PTR 变量转换为十六进制值数组,例如以下变量-
ULONG_PTR a = 1406993872
我想把它转换成下面的数组-
unsigned char hexArray[] = {0x53, 0xDD, 0x05, 0xD0}
使用 C++ 最简单的方法是什么?
【问题讨论】:
-
所有objects in C++都可以看成是一个字节数组(注意反过来不行),所以你可以用
reinterpret_cast得到你想要的。 -
@user4581301 我猜你的意思是这样的 - unsigned char hexArray[] = reinterpret_cast
(a) 但我收到一个错误 - “使用“{…}”初始化预计聚合对象“ -
道歉。对于该用例,您不能强制转换。我想说的是
hexArray可能是多余的。大多数你会使用hexArray的地方你可以改用reinterpret_cast<unsigned char*>(a)。
标签: c++ type-conversion