Example |
#include <stdarg.h>
#include <stdio.h> /* for printf */
int varfunc (char *buf, int id, ...) {
va_list tag;
va_start (tag, id);
if (id == 0) {
int arg1;
char *arg2;
long arg3;
arg1 = va_arg (tag, int);
arg2 = va_arg (tag, char *);
arg3 = va_arg (tag, long);
}
else {
char *arg1;
char *arg2;
long arg3;
arg1 = va_arg (tag, char *);
arg2 = va_arg (tag, char *);
arg3 = va_arg (tag, long);
}
va_end (tag);
}
void caller (void) {
char tmp_buffer [10];
varfunc (tmp_buffer, 0, 27, "Test Code", 100L);
varfunc (tmp_buffer, 1, "Test", "Code", 348L);
}
|