home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_08_03 / 8n03099a < prev    next >
Text File  |  1990-03-20  |  574b  |  38 lines

  1.  
  2.  
  3. *** Listing 4 ***
  4.  
  5. #include <stdio.h>
  6. #include <stdarg.h>
  7. #include <string.h>
  8.  
  9. /*
  10.  * Concatenate copies of a variable number strings into
  11.  * s1.  The list of strings must be terminated by NULL.  
  12.  * concat returns s1.
  13.  */
  14. char *concat(char *s1, ...)
  15.     {
  16.     char *s = s1;
  17.     const char *t;
  18.     va_list ap;
  19.  
  20.     va_start(ap, s1);
  21.     while ((t = va_arg(ap, const char *)) != NULL)
  22.         {
  23.         strcpy(s, t);
  24.         s += strlen(s);
  25.         }
  26.     va_end(ap);
  27.     return s1;
  28.     }
  29.  
  30. int main(void)
  31.     {
  32.     char s[100];
  33.     
  34.     puts(concat(s, "This ", "is ", "great!", NULL));
  35.     return 0;
  36.     }
  37.  
  38.