请问个有关问题。两个具有可变参数的函数怎么关联

请教个问题。两个具有可变参数的函数如何关联。
如果两个函数的内容功能是一样的,但函数名不同,请问有什么方法可以将两都关联起来啊?主要是因为这两个函数的参数都是可变参数。取个例子,就像是printf(const char *format,[argument]),又有另外一个函数printf1(const char *format,[argument])与printf()一样.但我调用时只能调用printf1。请问这要怎么解决啊?

------解决方案--------------------
内部的printf接口需要改变一下,模仿vprintf即可,给你写了一段示例,希望你能从根本原理认识这个问题:


#include <stdarg.h>

void va_start(va_list ap, last);
type va_arg(va_list ap, type);
void va_end(va_list ap);
void va_copy(va_list dest, va_list src);

C/C++ code
[User:root Time:13:03:06 Path:/home/liangdong/c]$ ./output 
123
[User:root Time:13:03:07 Path:/home/liangdong/c]$ cat src/main.c 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>

void inner_printf(const char *format, va_list args) {
        // 懒得写args的解析了, 写死一个int参数,忽略解析format,
        // 演示一下用法就好了。
        int n = va_arg(args, int);
        printf("%d\n", n);
        va_end(args); //unnecessary here
}

void wrapper_printf(const char *format, ...) {
        va_list args;
        va_start(args, format);
        inner_printf(format, args); //may use va_copy, but not necessary
        va_end(args); //unnecessary if nothing to do below
}

int main(int argc, char* const argv[]) {
        wrapper_printf("format is ignore\n", 123);
        return 0;
}