---
name: "wmemchr"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/wmemchr"
---

# wmemchr(3)

wide character string manipulation operations

## NAME

**wcpcpy**, **wcpncpy**, **wcscasecmp**, **wcscat**, **wcschr**, **wcscmp**, **wcscpy**, **wcscspn**, **wcsdup**, **wcslcat**, **wcslcpy**, **wcslen**, **wcsncasecmp**, **wcsncat**, **wcsncmp**, **wcsncpy**, **wcsnlen**, **wcspbrk**, **wcsrchr**, **wcsspn**, **wcsstr**, **wmemchr**, **wmemcmp**, **wmemcpy**, **wmemmove**, **wmemset** – wide character string manipulation operations

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<wchar.h\>**

*wchar\_t* *\**\

**wcpcpy**(*wchar\_t \*s1*, *wchar\_t \*s2*);

*wchar\_t* *\**\

**wcpncpy**(*wchar\_t \*s1*, *wchar\_t \*s2*, *size\_t n*);

*int*\

**wcscasecmp**(*const wchar\_t \*s1*, *const wchar\_t \*s2*);

*wchar\_t* *\**\

**wcscat**(*wchar\_t \* restrict s1*, *const wchar\_t \* restrict s2*);

*wchar\_t* *\**\

**wcschr**(*const wchar\_t \*s*, *wchar\_t c*);

*int*\

**wcscmp**(*const wchar\_t \*s1*, *const wchar\_t \*s2*);

*wchar\_t* *\**\

**wcscpy**(*wchar\_t \* restrict s1*, *const wchar\_t \* restrict s2*);

*size\_t*\

**wcscspn**(*const wchar\_t \*s1*, *const wchar\_t \*s2*);

*wchar\_t* *\**\

**wcsdup**(*const wchar\_t \*s*);

*size\_t*\

**wcslcat**(*wchar\_t \*s1*, *const wchar\_t \*s2*, *size\_t n*);

*size\_t*\

**wcslcpy**(*wchar\_t \*s1*, *const wchar\_t \*s2*, *size\_t n*);

*size\_t*\

**wcslen**(*const wchar\_t \*s*);

*int*\

**wcsncasecmp**(*const wchar\_t \*s1*, *const wchar\_t \*s2*, *size\_t n*);

*wchar\_t* *\**\

**wcsncat**(*wchar\_t \* restrict s1*, *const wchar\_t \* restrict s2*, *size\_t n*);

*int*\

**wcsncmp**(*const wchar\_t \*s1*, *const wchar\_t \* s2*, *size\_t n*);

*wchar\_t* *\**\

**wcsncpy**(*wchar\_t \* restrict s1*, *const wchar\_t \* restrict s2*, *size\_t n*);

*size\_t*\

**wcsnlen**(*const wchar\_t \*s*, *size\_t maxlen*);

*wchar\_t* *\**\

**wcspbrk**(*const wchar\_t \*s1*, *const wchar\_t \*s2*);

*wchar\_t* *\**\

**wcsrchr**(*const wchar\_t \*s*, *wchar\_t c*);

*size\_t*\

**wcsspn**(*const wchar\_t \*s1*, *const wchar\_t \*s2*);

*wchar\_t* *\**\

**wcsstr**(*const wchar\_t \* restrict s1*, *const wchar\_t \* restrict s2*);

*wchar\_t* *\**\

**wmemchr**(*const wchar\_t \*s*, *wchar\_t c*, *size\_t n*);

*int*\

**wmemcmp**(*const wchar\_t \*s1*, *const wchar\_t \*s2*, *size\_t n*);

*wchar\_t* *\**\

**wmemcpy**(*wchar\_t \* restrict s1*, *const wchar\_t \* restrict s2*, *size\_t n*);

*wchar\_t* *\**\

**wmemmove**(*wchar\_t \*s1*, *const wchar\_t \*s2*, *size\_t n*);

*wchar\_t* *\**\

**wmemset**(*wchar\_t \*s*, *wchar\_t c*, *size\_t n*);

**#include \<wchar.h\>**

**#include \<xlocale.h\>**

*int*\

**wcscasecmp\_l**(*const wchar\_t \*s1*, *const wchar\_t \*s2*, *locale\_t loc*);

*int*\

**wcsncasecmp\_l**(*const wchar\_t \*s1*, *const wchar\_t \*s2*, *size\_t n*, *locale\_t loc*);

## DESCRIPTION

The functions implement string manipulation operations over wide character strings. For a detailed description, refer to documents for the respective single-byte counterpart, such as [memchr(3)](/memchr/3.md).

## SEE ALSO

[memchr(3)](/memchr/3.md), [memcmp(3)](/memcmp/3.md), [memcpy(3)](/memcpy/3.md), [memmove(3)](/memmove/3.md), [memset(3)](/memset/3.md), [stpcpy(3)](/stpcpy/3.md), [stpncpy(3)](/stpncpy/3.md), [strcasecmp(3)](/strcasecmp/3.md), [strcasecmp\_l(3)](/strcasecmp_l/3.md), [strcat(3)](/strcat/3.md), [strchr(3)](/strchr/3.md), [strcmp(3)](/strcmp/3.md), [strcpy(3)](/strcpy/3.md), [strcspn(3)](/strcspn/3.md), [strdup(3)](/strdup/3.md), [strlcat(3)](/strlcat/3.md), [strlcpy(3)](/strlcpy/3.md), [strlen(3)](/strlen/3.md), [strncasecmp(3)](/strncasecmp/3.md), [strncasecmp\_l(3)](/strncasecmp_l/3.md), [strncat(3)](/strncat/3.md), [strncmp(3)](/strncmp/3.md), [strncpy(3)](/strncpy/3.md), [strnlen(3)](/strnlen/3.md), [strpbrk(3)](/strpbrk/3.md), [strrchr(3)](/strrchr/3.md), [strspn(3)](/strspn/3.md), [strstr(3)](/strstr/3.md), [xlocale(3)](/xlocale/3.md)

## STANDARDS

These functions conform to ISO/IEC 9899:1999 (“ISO C99”), with the exception of **wcpcpy**(), **wcpncpy**(), **wcscasecmp**(), **wcscasecmp\_l**(), **wcsdup**(), **wcsncasecmp**(), **wcsncasecmp\_l**(), and **wcsnlen**(), which conform to IEEE Std 1003.1-2008 (“POSIX.1”); and **wcslcat**() and **wcslcpy**(), which are extensions.
