#include <string.h>
char *strncat(char *s1, const char *s2, size_t n);
strncat appends not more than n characters from the array pointed to by s2 to the end of the string pointed to by s1. A null character in s1 and characters that follow it are not appended. The initial character of s2 overwrites the null character at the end of s1. A terminating null character is always appended to the result. The behaviour of strncat is undefined if copying takes place between objects that overlap.
strncat returns the value of s1.
strncat conforms to ISO/IEC 9899:1990 (C90) and ISO/IEC 9899:1999 (C99).