【发布时间】: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³²,或者说它是二进制的,但它几乎是无关紧要的。