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 behavior of strncat is undefined if copying takes place between objects that overlap.
strncat returns the value of s1.