%02x  (x代表以十六进制形式输出,02代表不足两位,前面补0输出,如果超过两位,则以实际输出)

例:

  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #include <string.h>
  4.  
  5. typedef struct xxx{
  6.  
  7. uint8_t a;
  8. uint8_t b;
  9. uint32_t c;
  10.  
  11. } stu;
  12.  
  13. int main()
  14. {
  15.  
  16. int i;
  17. stu s;
  18. memset(&s, , sizeof(s));
  19. s.a = 0x01;
  20. s.b = 0x02;
  21. s.c = 0x1C080206;
  22.  
  23. unsigned char *p = (unsigned char *)&s;
  24.  
  25. for (i = ; i < sizeof(s); i++) {
  26. printf("p[%d] = %02x\n", i, p[i]);
  27. }
  28.  
  29. return ;
  30. }

运行结果:

p[0] = 01
p[1] = 02
p[2] = 00
p[3] = 00
p[4] = 06
p[5] = 02
p[6] = 08
p[7] = 1c

PS: 不考虑大小端和内存对齐。

%2x (数据不足两位,实际输出;注意:不会额外补0,如果超过两位,则以实际输出)

例:

  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #include <string.h>
  4.  
  5. typedef struct xxx{
  6.  
  7. uint8_t a;
  8. uint8_t b;
  9. uint32_t c;
  10.  
  11. } stu;
  12.  
  13. int main()
  14. {
  15.  
  16. int i;
  17. stu s;
  18. memset(&s, , sizeof(s));
  19. s.a = 0x01;
  20. s.b = 0x02;
  21. s.c = 0x1C080206;
  22.  
  23. unsigned char *p = (unsigned char *)&s;
  24.  
  25. for (i = ; i < sizeof(s); i++) {
  26. printf("p[%d] = %2x\n", i, p[i]);
  27. }
  28.  
  29. return ;
  30. }

运行结果:

p[0] = 1
p[1] = 2
p[2] = 0
p[3] = 0
p[4] = 6
p[5] = 2
p[6] = 8
p[7] = 1c

%02x和%2x区别的更多相关文章

  1. %02x与%2x之间的区别

    输出最小宽度用十进制整数来表示输出的最少位数.若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0(当最小宽度数值以0开头时). X 表示以十六进制形式输出02表示不足两 ...

  2. Python——2x和3x的区别汇总

    1. 初始解释器编码: 2x:ascii 编码(不自持中文) 3x:unicode编码 推荐全部更换为utf-8 2. 输出方式不同 2x:print ‘你好’2.7版本的两种都支持 3x:print ...

  3. Jackson fasterxml跟codehaus的区别 (fasterxml vs. codehaus) -- 转载

    Jackson fasterxml和codehaus的区别: 他们是Jackson的两大分支.也是两个版本的不同包名.Jackson从2.0开始改用新的包名fasterxml:1.x版本的包名是cod ...

  4. Activity中与ListActivity中使用listview区别

    Activity中与ListActivity中使用listview区别 一.Activity中与ListActivity中使用listview区别(本身没多大区别,只是ListActivity在lis ...

  5. UI:字典的两种取值的区别

    字典的两种取值的区别 (objectForKey: 和 valueForKey )参考 一般来说 key 可以是任意字符串组合,如果 key 不是以 @ 符号开头,这时候 valueForKey: 等 ...

  6. 静态include与动态include的区别

    jsp中的include有两种形式,分别是:<%@ include file=""%><jsp:include page="" flush=& ...

  7. WebSocket介绍,与Socket的区别

    WebSocket介绍与原理 WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex).一开始的握手需要借助HTTP请求完成. ——百 ...

  8. 谈下WebSocket介绍,与Socket的区别

    这个话题应该是面试中出现频率比较高的吧....不管咋样还是有必要深入了解下两者之间的关联.废话不多说,直接入题吧: WebSocket介绍与原理 目的:即时通讯,替代轮询 网站上的即时通讯是很常见的, ...

  9. 【转】hex和bin文件格式的区别

    hex和bin文件格式的区别 Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量.Intel HEX文件经 ...

随机推荐

  1. Simple example

    This is a simple example showing a small window. Yet we can do a lot with this window. We can resize ...

  2. ipa 打包遇到的坑

    1.xcode 打包 并上传至 appstore 审核 2.预留邮箱 收取 appstore 的审核结果 3.审核通过以后,通过 iTunes Connect 上传正式文件至 appstore     ...

  3. bzr登陆加密

    bzr提示:You have not informed bzr of your Launchpad ID, and you must do this towrite to Launchpad or a ...

  4. 对TCP性能的考虑

    #xiaodeng #对TCP性能的考虑 #HTTP权威指南 86 #对TCP性能的考虑 #HTTP紧挨着TCP,位于其上层.所以HTTP事务的性能很大程度上取决于底层tcp通道的性能. #4.2.1 ...

  5. Q2:Reverse Words in a String

    Clarification: What constitutes a word? A sequence of non-space characters constitutes a word. Could ...

  6. QQ概念版(WPF制作)

    984 QQ概念版 编辑   QQ 概念版是腾讯首款NUI(自然用户交互)产品,全面实现了多点触摸操作.是腾讯利用微软最新一代的客户端展现层技术--WPF,打造的IM产品. 中文名 QQ 概念版 游戏 ...

  7. HDUOJ--畅通工程

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  8. 【LeetCode】154. Find Minimum in Rotated Sorted Array II (3 solutions)

    Find Minimum in Rotated Sorted Array II Follow up for "Find Minimum in Rotated Sorted Array&quo ...

  9. ADO,OLEDB,ODBC,DAO,RDO的区别说明

    http://www.jb51.net/article/31286.htm http://wenku.baidu.com/link?url=D7iis1tmkyXTCqjsezsvYtYHWG8jK- ...

  10. Java并发编程,多线程[转]

    Java并发编程 转自:http://www.cnblogs.com/dolphin0520/category/602384.html 第一个例子(没有阻塞主线程,会先输出over): package ...