#include <stdarg.h> #include <stdlib.h> #include <string.h> #include <stdio.h> /* Just like strcat(), but allows multiple strings * on the same line. */ char *strvcat(char * s1, char * args, ...) { va_list ap; va_start(ap, args); while (args != NULL) { strcat(s1, args); args = va_arg(ap, char *); } va_end(ap); return s1; } /* Just like strcpy(), but allows multiple strings * on the same line. */ char *strvcpy(char * s1, char * args, ...) { va_list ap; va_start(ap, args); strcpy(s1, args); args = va_arg(ap, char *); while (args != NULL) { strcat(s1, args); args = va_arg(ap, char *); } va_end(ap); return s1; } int main() { char a[8192] = "HOLA MUNDO ! -- "; strvcpy(a, "Hola", " ", "mundo", "!", "n", NULL); strvcat(a, "Hola", " ", "mundo", "!", "n", NULL); printf("%sn", a); }