wchar_t *wcscat(wchar_t *ws1, const wchar_t *ws2); wchar_t *wcsncat(wchar_t *ws1, const wchar_t *ws2, size_t n);
wcsncat(S) appends a copy of wide-character codes in the array pointed to by ws2 to the end of the wide character string pointed to by ws1. At most, n wide-character codes in ws2 are appended. If there is a null wide-character code in the first n characters in ws2, the null wide-character code and all other wide-character codes after it are are not appended.
The null terminating wide-character at the end of ws1 is overwritten by the first wide-character code in ws2. The result is always padded by a terminating null wide-character code.
If copying takes place in overlapping memory blocks, the behavior is not defined.
The value of errno is undefined.