wcsdup - Man Page

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 error.



Insufficient memory available to allocate duplicate string.


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

wcsdup()Thread safetyMT-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 5.13 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

pmemobj_alloc(3), strdup(3), wcscpy(3).

2021-03-22 GNU Linux Programmer's Manual