home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | CONFORMING TO | SEE ALSO | COLOPHON


STRCAT(3)                     Linux Programmer's Manual                     STRCAT(3)

NAME         top

       strcat, strncat - concatenate two strings

SYNOPSIS         top

       #include <string.h>

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

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

DESCRIPTION         top

       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         top

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

CONFORMING TO         top

       SVr4, 4.3BSD, C89, C99.

SEE ALSO         top

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

COLOPHON         top

       This page is part of release 3.23 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/.

GNU                                   2008-06-13                            STRCAT(3)