请求帮助,但也许我应该澄清一下我的问题。我想从文本文件中读取一些地址,例如:
someFile :: 0xc4fap4424ab1 0xac8374ce93ac ... etc
现在我想获取这些地址并将它们转换为十进制,以便我可以进行地址比较。所以我的问题是 1.我应该如何存储这些地址 2.存储地址后,如何将它们转换为十进制。
答案 0 :(得分:2)
您的初始值设定项仅为temp
数组声明一个元素,该值超出char
的容量。您可以在一个char
中存储的最大值为0xFF
。
如果temp
的形式为:
char temp[] = {0x12, 0x34, 0x56, 0x78};
然后你可以做一些小事来产生4个字节中的int
。实际上我会使用uint32_t
与平台无关:
uint32_t x = (temp[0] << 24) | (temp[1] << 16) | (temp[2] << 8) | temp[3];
当然,你也必须照顾字节序。