Linux printf 将 %p 参数呈现为带有前导 0x 的十六进制数字。有没有办法让它不打印 0x? (需要在 32 位和 64 位上工作。)
最佳答案
您可以使用 uintptr_t
的格式说明符来自 <inttypes.h>
:
#include <inttypes.h>
[...]
printf("%"PRIxPTR"\n", (uintptr_t) p);
这类似于 %x
对于 uintptr_t
类型,它是一种整数类型,能够从/到任何指针类型进行往返转换。
关于linux - 打印指针 : can the leading 0x be eliminated?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6040595/