#include <cstdarg>
#include <iostream>
using namespace std;

void va_cat(char* s ...);

int main () {
   char* buffer = "";
   char* string1 = "This is the first string";
   char* string2 = "This is the second string";
   char* string3 = "Third string";
   const char* Null_cp = 0;
   
   va_cat(buffer, string1, string2, string3, Null_cp);
   cout << "Result: " << buffer << endl;
   
   return 0;
}

void va_cat (char* s ...) {
   va_list ap;
   va_start(ap,s);
   for (;;) {
      char* t = va_arg(ap, char*);
      if (0 == t) break;
      strcat(s,t);
   }
   va_end(ap);
}

