1. 程式人生 > >不定引數函式呼叫不定引數函式

不定引數函式呼叫不定引數函式

#include <stdarg.h>
#include <stdio.h>
 
int myprintf(const char *fmt, ...)
{
    int ret;
    va_list ap;
 
    va_start(ap, fmt);
    ret = vprintf(fmt, ap);
    va_end(ap);
    return ret;
}
 
void logv(const char *file, int line, const char *fmt, ...)
{
    va_list ap;
    va_start(ap, fmt);
    printf("%s:%d: ", file, line);
    vprintf(fmt, ap);
    va_end(ap);
}
 
#define dolog(fmt, ...) logv(__FILE__, __LINE__, fmt, __VA_ARGS__)
 
int main(int argc, char *argv[])
{
    myprintf("argc=%d\n", argc);
    dolog("argc=%d\n", argc);
 
    return 0;
}