#include<stdio.h>#include<stdarg.h>voidcustom_vprintf(char*format,...){
va_list args;va_start(args, format);vprintf(format, args);va_end(args);}voidcustom_vfprintf(char*format,...){
va_list args;va_start(args, format);vfprintf(stdout, format, args);va_end(args);}voidcustom_vsprintf(char* buf,char*format,...){
va_list args;va_start(args, format);vsprintf(buf, format, args);va_end(args);}voidcustom_vsnprintf(char* buf,char*format,...){
va_list args;va_start(args, format);vsnprintf(buf,32, format, args);va_end(args);}intmain(void){int a =1024;char*s ="abcd\n";char buf[32];//标准输出printf("%d: %d、%s",__LINE__, a, s);//向所有流输出fprintf(stdout,"%d: %d、%s",__LINE__, a, s);//格式化字符串sprintf(buf,"%d: %d、%s",__LINE__, a, s);puts(buf);//格式化字符串带长度限制snprintf(buf,32,"%d: %d、%s",__LINE__, a, s);puts(buf);// test vprintfcustom_vprintf("%d: %d、%s",__LINE__, a, s);// test vfprintfcustom_vfprintf("%d: %d、%s",__LINE__, a, s);// test vsprintfcustom_vsprintf(buf,"%d: %d、%s",__LINE__, a, s);// test vsnprintfcustom_vsnprintf(buf,"%d: %d、%s",__LINE__, a, s);return0;}