#include <wchar.h>

int wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n);

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


Since glibc 2.10:

_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L

Before glibc 2.10:



The wcsncasecmp() function is the wide-character equivalent of the strncasecmp(3) function. It compares the wide-character string pointed to by s1 and the wide-character string pointed to by s2, but at most n wide characters from each string, ignoring case differences (towupper(3), towlower(3)).


The wcsncasecmp() function returns zero if the wide-character strings at s1 and s2, truncated to at most length n, are equal except for case distinctions. It returns a positive integer if truncated s1 is greater than truncated s2, ignoring case. It returns a negative integer if truncated s1 is smaller than truncated s2, ignoring case.


The wcsncasecmp() function is provided in glibc since version 2.1.


Multithreading (see pthreads(7))

The wcsncasecmp() function is thread-safe with exceptions. It can be safely used in multithreaded applications, as long as setlocale(3) is not called to change the locale during its execution.


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


The behavior of wcsncasecmp() depends on the LC_CTYPE category of the current locale.

RELATED TO wcsncasecmp…


This page is part of release 3.74 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