Man Linux: Main Page and Category List

NAME

       strcat, strncat - concatenate two strings

SYNOPSIS

       #include <string.h>

       char *strcat(char *dest, const char *src);

       char *strncat(char *dest, const char *src, size_t n);

DESCRIPTION

       The  strcat()  function  appends  the  src  string  to the dest string,
       overwriting the null byte ('\0') at the end of dest, and  then  adds  a
       terminating  null  byte.   The  strings  may  not overlap, and the dest
       string must have enough space for the result.

       The strncat() function is similar, except that

       *  it will use at most n characters from src; and

       *  src does not need to be null-terminated if it  contains  n  or  more
          characters.

       As  with  strcat(),  the  resulting  string  in  dest  is  always null-
       terminated.

       If src contains n or more characters, strncat() writes  n+1  characters
       to  dest  (n  from src plus the terminating null byte).  Therefore, the
       size of dest must be at least strlen(dest)+n+1.

       A simple implementation of strncat() might be:

           char*
           strncat(char *dest, const char *src, size_t n)
           {
               size_t dest_len = strlen(dest);
               size_t i;

               for (i = 0 ; i < n && src[i] != '\0' ; i++)
                   dest[dest_len + i] = src[i];
               dest[dest_len + i] = '\0';

               return dest;
           }

RETURN VALUE

       The strcat() and strncat() functions return a pointer to the  resulting
       string dest.

CONFORMING TO

       SVr4, 4.3BSD, C89, C99.

SEE ALSO

       bcopy(3),  memccpy(3),  memcpy(3),  strcpy(3),  strncpy(3),  wcscat(3),
       wcsncat(3)

COLOPHON

       This page is part of release 3.24 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.