【问题标题】:why does this value get cut off?为什么这个值会被截断?
【发布时间】:2013-10-09 20:16:38
【问题描述】:

所以我尝试使用 printf 在 c++ 中打印出十六进制值,并且我希望以下字符串的输出为 val:0x0366,包括前导 0

这是代码

 int poo = 0x00000366;
 printf("val:0x%x \n",poo);

这是输出:

0x366

【问题讨论】:

    标签: hex printf


    【解决方案1】:

    你试过printf("val:0x%04x \n",poo);吗?

    根据printf reference

    格式说明符遵循此原型:

    %[flags][width][.precision][length]specifier
    

    在你的情况下:

    %[0][4][default precision][default lenght]x
    

    【讨论】:

    • 刚刚更正了,您需要放置 0 标志,以便打印 0 而不是空格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多