如何将十六进制数字完全打印到终端?

How to fully print a number in hexadecimal to the terminal?

我有一个无符号的 16 位数字,我需要像这样以十六进制打印到终端:

0x0FFE

但是使用 printf("0x%X\n", number"); 我明白了:

0xFFE

有没有办法在 C 或 C++ 上完全打印十六进制数字?

默认情况下,不打印前导零。要打印至少 4 个带前导零的字符,请使用 0 标志和 4 的字段宽度。

printf("0x%04X\n", number);