【问题标题】:C++ - DWORD Decimal to DWORD Hexadecimal [duplicate]C++ - DWORD 十进制到 DWORD 十六进制 [重复]
【发布时间】:2017-09-28 07:36:14
【问题描述】:

如何在 C++ 中将十进制转换为十六进制?我在 ultoa 上取得了成功,但这给了你一个字符(并且使用 (DWORD)Buffer 到 std::cout 只是以胡言乱语结束)。我还需要再次将新的十六进制保存在 DWORD 中。

到目前为止我的代码:

//Vars
char Buffer[33];

// Client.dll
DWORD d_clientDll = (DWORD)GetModuleHandleA("client.dll");
_ultoa(d_clientDll, Buffer, 16);
std::cout << Buffer << std::endl;
std::cout << d_clientDll << std::endl;

【问题讨论】:

  • @harold 不是。
  • @harold 既然我想把它保存到另一个 DWORD 中,那在另一篇文章中不是这样。
  • 好吧,这很简单,只需保留旧的 DWORD,将某些内容转换为字符串然后再返回是没有意义的
  • @harold 不,因为我需要十六进制格式的 DWORD。
  • 那不存在。只有字符串是十进制/十六进制/等。 DWORD 是值本身,而不是任何基数 - 你可以说它是基数 2³²,或者说它是二进制的,但它几乎是无关紧要的。

标签: c++ dword


【解决方案1】:

你试过std::hex吗?

std::cout << std::hex << d_clientDll << std::endl

【讨论】:

  • 令人惊讶的是,这突然起作用了(之前使用了带有 std::hex 的方法,但不起作用)。您现在如何将其保存到 DWORD 中? (偏移量::clientDll = std::hex
猜你喜欢
  • 1970-01-01
  • 2011-09-12
  • 2014-10-22
  • 2011-12-09
  • 1970-01-01
  • 2011-08-05
  • 2013-06-13
  • 2011-06-01
  • 2015-03-29
相关资源
最近更新 更多