十六进制数字翻转?

时间:2012-03-07 01:35:36

标签: winforms visual-c++

我有一个可能听起来令人困惑的问题,但请光顾我......

这就是我所说的游戏中的“地址”:0037F1C8

我想在vc ++中实现的是将“地址”转换为此结果:C8 F1 37 00

如果你注意到,那个结果就是'地址',但是从右到左吐出来从最左边来的结果。

结果是我输入到我创建的数据包然后发送到游戏服务器的内容。

我需要在vc ++中执行此操作的代码,因为我不知道如何将其翻转并将其分开。

谢谢。

P.S。我试着谷歌我的问题,但正如你所看到的,我有点不知道如何正确陈述我的问题。

1 个答案:

答案 0 :(得分:1)

您没有解释您想要的结果形式。您是否尝试使用此内容获取ASCII字符串?

在任何情况下,将这些放入字符串的明显方法是

  • 将指针转换为适当大小的整数(显然是32位)
  • 通过执行一系列移位和掩码,最合理地提取整数的每个字节。
  • 将四个结果字节sprintf成一个字符串。

您要查找的格式字符串类似于:"%2X %2X %2X %2X"

一个适当的掩码,只给你一个int“i”的最低字节,就像i & 0xff

在这种情况下,我只是声明四个整数来放入单个字节,而不是做一些奇特的东西 - 它可能不值得。