实践中遇到的输出格式问题,望高手解答

轻机枪 2012-02-21 02:35:01
现在有long a=15;//15只是个例子,实际上是某函数返回值,不一定是多少
希望输出0x0f这种格式,用的printf。
现在经试验"%#lx"可以输出0xf,"%02lx"可以输出0f;
但是不知道0x0f应该怎么搞,"%#02lx"与"%02#lx"均试过,都无效。
现在勉强用"0x%02lx"应付着,请问哪位大神知道正确的格式符号应该是什么?
...全文
192 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2012-02-21
  • 打赏
  • 举报
回复
long a=15L;
printf("0x%02lx\n",(unsigned char)((unsigned long)a&0xFFLu);
a=65000L;
printf("0x%04lx\n",(unsigned short)((unsigned long)a&0xFFFFLu);
a=165000L;
printf("0x%08lx\n",(unsigned long)a);
轻机枪 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kuyucman 的回复:]

int i = 0x0f;
wprintf(_T("%02x \n"),i);
[/Quote]
这…编译错误,不认_T,要啥头文件不?环境:mingw
轻机枪 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cxsjabcabc 的回复:]

"0x0f这种格式" 什么意思

sprintf
[/Quote]
就是前面要0x引导,后面要输出两位,不足的补0.sprintf是输出到字符串…
轻机枪 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zmlovelx 的回复:]

0x%02lx 有什么问题?
[/Quote]
其实没有问题,不过我感觉不爽而已
一丝晨光 2012-02-21
  • 打赏
  • 举报
回复
"0x0f这种格式" 什么意思

sprintf
七擒关羽 2012-02-21
  • 打赏
  • 举报
回复
这个输出格式的问题:
1、x%表示以16进制输出 例如 printf("%x",15); 输出是 f
2、根据LZ的要求需要位数限制 %02x表示按照2位l6进制输出 例如 printf("%02x",15); 输出是 0f
3、需要增加16进制标识, 例如 printf("0x%02x",15); 输出是 0x0f
东莞某某某 2012-02-21
  • 打赏
  • 举报
回复
int i = 0x0f;
wprintf(_T("%02x \n"),i);
帅得不敢出门 2012-02-21
  • 打赏
  • 举报
回复
0x%02lx 有什么问题?
quwei197874 2012-02-21
  • 打赏
  • 举报
回复
sptintf(...)
AnYidan 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zmlovelx 的回复:]
0x%02lx 有什么问题?
[/Quote]

木有问题
IVERS0N 2012-02-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 studycbc 的回复:]

这个输出格式的问题:
1、x%表示以16进制输出 例如 printf("%x",15); 输出是 f
2、根据LZ的要求需要位数限制 %02x表示按照2位l6进制输出 例如 printf("%02x",15); 输出是 0f
3、需要增加16进制标识, 例如 printf("0x%02x",15); 输出是 0x0f
[/Quote]

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧