wcsdup man page

wcsdup — duplicate a wide-character string


#include <wchar.h>

wchar_t *wcsdup(const wchar_t *s);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):


Since glibc 2.10:

_POSIX_C_SOURCE >= 200809L

Before glibc 2.10:



The wcsdup() function is the wide-character equivalent of the strdup(3) function. It allocates and returns a new wide-character string whose initial contents is a duplicate of the wide-character string pointed to by s.

Memory for the new wide-character string is obtained with malloc(3), and should be freed with free(3).

Return Value

On success, wcsdup() returns a pointer to the new wide-character string. On error, it returns NULL, with errno set to indicate the cause of the error.



Insufficient memory available to allocate duplicate string.


For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
wcsdup() Thread safety MT-Safe

Conforming to

POSIX.1-2008. This function is not specified in POSIX.1-2001, and is not widely available on other systems.

See Also

strdup(3), wcscpy(3)


This page is part of release 4.12 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

libpmemobj(3), libvmem(3), strdup(3), wcscpy(3).

2017-05-03 GNU Linux Programmer's Manual