strcat, strncat — concatenate two strings
#include <string.h>
char
*strcat( |
char *dest, |
const char *src) ; |
char
*strncat( |
char *dest, |
const char *src, | |
size_t n) ; |
The strcat
() function
appends the src
string to the dest
string, overwriting the terminating 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; }