---
name: "wcsncmp"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/wcpcpy"
---

# wcsncmp(3)

wide character string manipulation operations

Part of [wcpcpy(3)](/wcpcpy/3.md).

## NAME

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

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

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

*QWchar\_t \**\

**wmemchr**(*QWchar\_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* *\**\

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

*wchar\_t* *\**\

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

*wchar\_t* *\**\

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

*wchar\_t* *\**\

**wcpncpy**(*wchar\_t \* restrict s1*, *const wchar\_t \* restrict 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*);

*QWchar\_t \**\

**wcschr**(*QWchar\_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*);

*QWchar\_t \**\

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

*QWchar\_t \**\

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

*size\_t*\

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

*QWchar\_t \**\

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

## 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), [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), [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)

## STANDARDS

Functions **wmemcmp**(), **wmemcpy**(), **wmemmove**(), **wmemset**(), **wcscat**(), **wcscmp**(), **wcscpy**(), **wcscspn**(), **wcslen**(), **wcsncat**(), **wcsncmp**(), **wcsncpy**(), and **wcsspn**() conform to ISO/IEC 9899:1999 (“ISO C99”).

Functions **wmemchr**(), **wcschr**(), **wcspbrk**(), **wcsrchr**(), and **wcsstr**() conform to ISO/IEC 9899:2024 (“ISO C23”), where they are specified as qualifier-preserving functions.

Functions **wcpcpy**(), **wcpncpy**(), **wcscasecmp**(), **wcsdup**(), **wcsncasecmp**(), and **wcsnlen**() conform to IEEE Std 1003.1-2008 (“POSIX.1”), and functions **wcslcat**() and **wcslcpy**(), first introduced by OpenBSD, conform to IEEE Std 1003.1-2024 (“POSIX.1”).

Function **wmempcpy**() is a GNU extensions.
