Name
strcat - concatenate two strings
Synopsis
#include <string.h>
char *strcat(char *dest, const char *src);
Description
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 concatenated result.
If dest is not large enough, program behavior is unpredictable;
buffer overruns are a favorite avenue for attacking secure programs.
The strncat() function is similar, except that it will use at
most n bytes from src; and src does not need to be
null-terminated if it contains n or more bytes. As with strcat(),
the resulting string in dest is always null-terimated.
If src contains n or more bytes, strncat writes n+1 bytes
to dest (n from src plus the terminating null byte). Therefore,
the size of dest must be at least strlen(dest)+n+1.
Example
#include <assert.h>
#include <string.h>
int main() {
char src[7] = "world!";
char dest1[12] = "hello";
char dest2[12] = "hello";
// Concatenate the entire src string to dest1.
strcat(dest1, src);
assert(strcmp(dest1, "helloworld!") == 0);
// Concatenate 5 characters from src to dest2.
strncat(dest2, src, 5);
assert(strcmp(dest2, "helloworld") == 0);
}
Return Value
Upon completion, the strcat() and strncat() functions return
a pointer to the resulting string dest.