STRCAT(3)               NetBSD Library Functions Manual              STRCAT(3)

NAME
     strcat, strncat -- concatenate strings

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <string.h>

     char *
     strcat(char * restrict s, const char * restrict append);

     char *
     strncat(char * restrict s, const char * restrict append, size_t count);

DESCRIPTION
     The strcat() and strncat() functions append a copy of the nul-terminated
     string append to the end of the nul-terminated string s, then add a ter-
     minating `\0'.  The string s must have sufficient space to hold the
     result.

     The strncat() function appends not more than count characters where space
     for the terminating `\0' should not be included in count.

RETURN VALUES
     The strcat() and strncat() functions return the pointer s.

EXAMPLES
     The following appends ``abc'' to ``chararray'':

           char *letters = "abcdefghi";

           (void)strncat(chararray, letters, 3);

     The following example shows how to use strncat() safely in conjunction
     with strncpy(3).

           char buf[BUFSIZ];
           char *input, *suffix;

           (void)strncpy(buf, input, sizeof(buf) - 1);
           buf[sizeof(buf) - 1] = '\0';
           (void)strncat(buf, suffix, sizeof(buf) - 1 - strlen(buf));

     The above will copy as many characters from ``input'' to ``buf'' as will
     fit.  It then appends as many characters from suffix as will fit (or none
     if there is no space).  For operations like this, the strlcpy(3) and
     strlcat(3) functions are a better choice, as shown below.

           (void)strlcpy(buf, input, sizeof(buf));
           (void)strlcat(buf, suffix, sizeof(buf));

SEE ALSO
     bcopy(3), memccpy(3), memcpy(3), memmove(3), strcpy(3), strlcat(3),
     strlcpy(3)

STANDARDS
     The strcat() and strncat() functions conform to ISO/IEC 9899:1999
     (``ISO C99'').

NetBSD 5.0_STABLE               August 11, 2002              NetBSD 5.0_STABLE
