diff options
Diffstat (limited to 'tst/va_test.c')
-rw-r--r-- | tst/va_test.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tst/va_test.c b/tst/va_test.c new file mode 100644 index 0000000..d92e1aa --- /dev/null +++ b/tst/va_test.c @@ -0,0 +1,47 @@ +#include <stdio.h> +#include <stdlib.h> +#include <stdarg.h> + +void espik_debug_print (char *fct, ...) +{ + va_list ap; + char c, *s; + int d, e; + + va_start (ap, fct); + printf("fct : %s\n", *(fct+1)); + while (*fct) + { +// fprintf (stderr, ">fct : %c\n", *(fct+1)); + switch (*fct++) + { + case 's': s = va_arg (ap, char*); + fprintf (stderr, "%s", s); + break; + case 'd': d = va_arg (ap, int); + fprintf (stderr, "%d", d); + break; + default : +// case 'c': + e = va_arg (ap, int); + fprintf (stderr, "%c", (char)e); + break; +// default : fprintf (stderr, "Unknown type : %c\n", *fct); + } + // fprintf (stderr, "<fct : %c\n", *fct); + } + fprintf (stderr, "\n"); + + va_end (ap); +} + +int main() +{ + int a = 10; + char b = 'c'; + char c[] = "totomadit"; + + espik_debug_print ("a : %d\n", a); + + return (0); +} |