| WCSDUP(3) | Library Functions Manual | WCSDUP(3) |
wcsdup — save a
copy of a wide string
#include
<wchar.h>
wchar_t *
wcsdup(const
wchar_t *str);
The
wcsdup()
function allocates sufficient memory for a copy of the wide-character string
str, does the copy, and returns a pointer to it. The
pointer may subsequently be used as an argument to the function
free(3).
If insufficient memory is available, NULL
is returned.
The following will point p to an allocated area of memory containing the nul-terminated string "foobar":
const char *o = "foobar"; wchar_t *p, b[32]; size_t blen; blen = sizeof(b) / sizeof(b[0]); if (mbstowcs(b, o, blen) == (size_t)-1) err(1, NULL); b[blen - 1] = 0; if ((p = wcsdup(b)) == NULL) err(1, NULL);
The wcsdup() function may fail and set the
external variable errno for any of the errors
specified for the library function malloc(3).
The wcsdup() function conforms to
IEEE Std 1003.1-2008 (“POSIX.1”).
The wcsdup() function was ported from
NetBSD and first appeared in
OpenBSD 5.0.
| July 25, 2011 | Debian |