【发布时间】:2021-03-12 13:08:56
【问题描述】:
有谁知道提供执行此逻辑的函数或执行此逻辑的方法的库?
我正在尝试转换:
unsigned char test[] = "\x00\x00\x56\x4b\x7c\x8a\xc5\xde";
到:
94882212005342 / 0x0000564b7c8ac5de
我知道我可以遍历test 中的每个单独字节并利用sprintf 将每个字节转换为字符串并将它们与strcat 连接到缓冲区中,然后通过@ 将缓冲区字符串转换为unsigned long long 987654327@。但是,我正在寻找更全面和简单的东西。有没有这样的方法?
【问题讨论】:
-
欢迎来到 SO。目前尚不清楚您想要什么。从我的问题中我想你想从字节数组中得到一个 unsigned long long 。但是关于
sprintf的部分根本不适合。 -
我编辑并提供了更多细节。
-
你的数组总是正好 9 个字节长吗?
-
是 8 + 空字节。
-
为什么你的 64 位内存地址是以字符串开头的?为什么不是无符号长?它已经有所需的字节,大概是正确的顺序,甚至不是一个有效的字符串......
标签: c type-conversion built-in unsigned-char unsigned-long-long-int