c-以十六进制显示一个以零开头的整数



我用fscanf(file_input, "%X", &data); 读取像ABCD这样的整数数据

如果我的号码正好有4组,这里没有问题!=0

例如,如果一个读取的0002,它只显示我2,或者对于00AB,它给我AB

我用printf("%X", data); 显示

有没有什么东西可以用4组打印,即使它们是零?

我尝试了printf("%4X", &data);,但它将我的结果向右移动了4个空格。

你能帮帮我吗?

printf()和友元中,字段说明符(如%X)可以采用width参数。对于4的字段宽度,这将是

printf("%4X", data);

左边用空格填充。如果你想把它垫在右边,那就是

printf("%-4X", data);

要用零填充,它是这样做的

printf("%04X", data);

以4组显示,我想您需要以零开头。使用此:

printf("%04x",data);

最新更新