#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);
}