我可以在Linux平台上为C printf添加新的格式说明符类型
如何添加一个新的格式说明符,例如%k
,它将以特定格式打印特定的用户定义结构?
我想做的事:-
struct k { //members }s1; printf ("%k", s1);
此printf
应以用户定义的方式打印结构。
是的,使用register_printf_function
可以(但不可移植),有关详细信息,请参阅12.13从libc文档中自定义printf :
GNU C Library允许您为
printf
模板字符串定义自己的自定义转换说明符,以教授printf
巧妙的方式来打印程序的重要数据结构。
以下是如何为MAC地址创建此类自定义格式说明符的示例。