#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/errno.h>
#define __log(t,fmt,...) \
printf("mesg level: %d |"fmt,t,##__VA_ARGS__);
#define __errno_log(fmt,...) \
printf(fmt"|errno: <%s>\n",##__VA_ARGS__,strerror(errno));
void main(void)
{
__log(4,"I am a test <%d> \n",__LINE__);
__errno_log("I test errno; line <%d>",__LINE__);
}
结果:
mesg level: 4 |I am a test <15>
I test errno; line <16>|errno: <Success>