我希望能够携带所有前导零定义的fprintf()
a 。例如,如果我的平台定义为 64 位无符号整数,我想使用格式说明符,例如,但如果它是 32 位无符号整数,我想使用.uint_fast32_t
stdint.h
uint_fast32_t
fprintf()
%016lX
%08lX
有没有INTFAST32_BITS
我可以使用的宏?
现在我正在使用
#if UINT_FAST32_MAX == 0xFFFFFFFF
# define FORMAT "08"PRIXFAST32
#elif UINT_FAST32_MAX == 0xFFFFFFFFFFFFFFFF
# define FORMAT "016"PRIXFAST32
#endif
但这仅适用于uint_fast32_t
恰好 32 或 64 位宽的情况,而且代码也有点笨重且难以阅读