strcat

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, strcat() 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)