wcpcpy, wcscpy — copy a wide-character string, returning a pointer to its end
#include <wchar.h>
[CX] wchar_t *wcpcpy(wchar_t *restrict ws1, const wchar_t *restrict ws2);
wchar_t *wcscpy(wchar_t *restrict ws1, const wchar_t *restrict ws2);
For wcscpy(): [CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2024 defers to the ISO C standard.
The [CX] wcpcpy() and wcscpy() functions shall copy the wide-character string pointed to by ws2 (including the terminating null wide-character code) into the array pointed to by ws1.
The application shall ensure that there is room for at least wcslen(ws2)+1 wide characters in the ws1 array, and that the ws2 and ws1 arrays do not overlap.
If copying takes place between objects that overlap, the behavior is undefined.
[CX] The wcscpy() and wcpcpy() functions shall not change the setting of errno on valid input.
[CX] The wcpcpy() function shall return a pointer to the terminating null wide-character code copied into the ws1 buffer.
The wcscpy() function shall return ws1.
No return values are reserved to indicate an error.
No errors are defined.
None.
None.
None.
None.
XBD <wchar.h>
First released in Issue 4. Derived from the MSE working draft.
The wcscpy() prototype is updated for alignment with the ISO/IEC 9899:1999 standard.
The wcpcpy() function is added from The Open Group Technical Standard, 2006, Extended API Set Part 1.
Austin Group Defect 448 is applied, adding a requirement that wcscpy() and wcpcpy() do not change the setting of errno on valid input.
return to top of page