问题来源:
假设有个结构有很多成员,需要根据成员的不同类型,将所有成员封装在一个CHAR类型的buf中输出。
例:
有结构体:
typedef struct CON_PRINTF
{
CHAR szElem1[BUF_LEN_20];
CHAR szElem2[BUF_LEN_100];
INT iIntElem;
}CON_PRINTF_ST;
需要
根据每个成员的类型不同,打印其成员值。
对snpintf的封装:
/* 用于连续打印封装 */
#define continuce_sprintf(uiCurPos, pcBuf, uiBufLen, args...)\
{\
if ( (uiCurPos) < (uiBufLen))\
{\
((uiC

本文介绍了如何处理结构体成员的多样性,通过宏定义实现使用snprintf将不同类型的结构体成员连续打印到CHAR类型的buf中。通过示例展示了封装过程,旨在提高代码的可读性和效率。
最低0.47元/天 解锁文章
940

被折叠的 条评论
为什么被折叠?



