The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

NAME

wcpncpy, wcsncpy — copy a fixed-size wide-character string, returning a pointer to its end

SYNOPSIS

#include <wchar.h>

[CX] [Option Start] wchar_t *wcpncpy(wchar_t restrict *ws1, const wchar_t *restrict ws2,
       size_t
n); [Option End]

wchar_t *wcsncpy(wchar_t *restrict
ws1, const wchar_t *restrict ws2,
       size_t
n);

DESCRIPTION

For wcsncpy(): [CX] [Option Start]  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. [Option End]

The [CX] [Option Start] wcpncpy() [Option End] and wcsncpy() functions shall copy not more than n wide-character codes (wide-character codes that follow a null wide-character code are not copied) from the array pointed to by ws2 to the array pointed to by ws1. If copying takes place between objects that overlap, the behavior is undefined.

If the array pointed to by ws2 is a wide-character string that is shorter than n wide-character codes, null wide-character codes shall be appended to the copy in the array pointed to by ws1, until n wide-character codes in all are written.

[CX] [Option Start] The wcsncpy() and wcpncpy() functions shall not change the setting of errno on valid input. [Option End]

RETURN VALUE

[CX] [Option Start] If any null wide-character codes were written into the destination, the wcpncpy() function shall return the address of the first such null wide-character code. Otherwise, it shall return &ws1[n]. [Option End]

The wcsncpy() function shall return ws1.

No return values are reserved to indicate an error.

ERRORS

No errors are defined.


The following sections are informative.

EXAMPLES

None.

APPLICATION USAGE

If there is no null wide-character code in the first n wide-character codes of the array pointed to by ws2, the result is not null-terminated.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

strncpy, wcscpy, wcslcat

XBD <wchar.h>

CHANGE HISTORY

First released in Issue 4. Derived from the MSE working draft.

Issue 6

The wcsncpy() prototype is updated for alignment with the ISO/IEC 9899:1999 standard.

Issue 7

The wcpncpy() function is added from The Open Group Technical Standard, 2006, Extended API Set Part 1.

Issue 8

Austin Group Defect 448 is applied, adding a requirement that wcsncpy() and wcpncpy() do not change the setting of errno on valid input.

Austin Group Defect 986 is applied, adding wcslcat() to the SEE ALSO section.

End of informative text.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]