3 <<wcsncpy>>---copy part of a wide-character string
7 wchar_t *wcsncpy(wchar_t *__restrict <[s1]>,
8 const wchar_t *__restrict <[s2]>, size_t <[n]>);
11 The <<wcsncpy>> function copies not more than <[n]> wide-character codes
12 (wide-character codes that follow a null wide-character code are not
13 copied) from the array pointed to by <[s2]> to the array pointed to
14 by <[s1]>. If copying takes place between objects that overlap, the
15 behaviour is undefined. Note that if <[s1]> contains more than <[n]>
16 wide characters before its terminating null, the result is not
19 If the array pointed to by <[s2]> is a wide-character string that is
20 shorter than <[n]> wide-character codes, null wide-character codes are
21 appended to the copy in the array pointed to by <[s1]>, until <[n]>
22 wide-character codes in all are written.
25 The <<wcsncpy>> function returns <[s1]>; no return value is reserved to
29 ISO/IEC 9899; POSIX.1.
31 No supporting OS subroutines are required.
38 wcsncpy (wchar_t *__restrict s1
,
39 const wchar_t *__restrict s2
,
47 if((*dscan
++ = *s2
++) == L
'\0') break;
49 while(n
-- > 0) *dscan
++ = L
'\0';