当前位置:  开发笔记 > 编程语言 > 正文

我如何在C中编写一个新的自己的格式说明符?

如何解决《我如何在C中编写一个新的自己的格式说明符?》经验,为你挑选了1个好方法。

是否可以在C中编写新的格式说明符?例如,假设%g是格式说明符,它以无符号整数等价物打印ABCD格式的ip地址.

int ip_addr = Some integer

printf("ip address = %g", ip_addr);

输出:以ABCD格式打印ip地址



1> mikedu95..:

您必须重新实现printf函数(更准确地说是它的格式解析函数).你可以做的是将printf包装在支持ip地址的函数中或执行此操作:

#define FMT_IP "%d.%d.%d.%d"
#define FMT_IP_ARG(ip) getA(ip), getB(ip), getC(ip), getD(ip)

其中getX函数或宏获取给定整数的X部分表示IP地址.

然后:

printf("ip address = " FMT_IP "\n", FMT_IP_ARG(ip));

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有