WCSLCPY(3C) Standard C Library Functions WCSLCPY(3C)
NAME
wcslcpy - copy a wide-character string
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <wchar.h> size_t wcslcpy(
wchar_t *restrict dst,
wchar_t *restrict src,
size_t dstlen);
DESCRIPTION
The
wcslcpy() function is the wide-character version of
strlcpy(3C).
It copies wide characters from
src to
dst, while ensuring that
dst is
always properly terminated with the null wide-character (L'\0').
Characters from
src are copied until either the null wide-character is
found in
src or
dstlen - 1 wide characters have been copied, whichever
comes first. In the latter case, the copy of
src in
dst will be
truncated. If
dstlen is zero, then no characters are copied.
RETURN VALUES
The
wcslcpy() function always returns the total number of wide
characters in
src, excluding the terminating null wide-character.
EXAMPLES
Example 1 Checking for overflow
The following example shows how one would check if a copy using the
wcslcpy() function would have overflowed a fixed size buffer. Note,
the use of `>=' down below is required because the
wcslcpy() function
always ensures that the buffer has a terminating null wide-character.
#include <wchar.h>
#include <stdio.h>
#define BUFLEN 32
wchar_t buf[BUFLEN];
...
if (wcslcpy(buf, src, BUFLEN) >= BUFLEN) {
(void) fprintf(stderr, "overflow detected!");
goto out;
}
...
INTERFACE STABILITY
CommittedMT-LEVEL MT-SafeSEE ALSO
strlcpy(3C),
wcslcat(3C)illumos January 5, 2025 illumos