printf按8进制、16进制输出

    添加时间:2013-6-5 点击量:
    每次看到人家的十六进制输出,对齐的很好,ff就显示了,而我的老是0 xffffffff。

    若是是

    %02x,是以0补齐2位数,若是跨越2位就显示实际的数;

    %hhx 是只输出2位数,即便超了,也只显示低两位;

     

    是以有了%02hhx



    void hexdump(char buf, int num)
    
    {
    int i;

    for(i = 0; i < num; i++
    {
    printf(
    %02hhx\t, buf[i]);
    if ((i+1)%8 == 0
    {
    printf(
    \n);
    }
    }
    printf(
    \n);
    }



    真正的心灵世界会告诉你根本看不见的东西,这东西需要你付出思想和灵魂的劳动去获取,然后它会照亮你的生命,永远照亮你的生命。——王安忆《小说家的十三堂课》
    分享到: