STRCASECMP(3)

ИМЯ
strcasecmp, strncasecmp - сравнение двух строк без учёта регистра

ОБЗОР
#include <strings.h>

int strcasecmp(const char *s1, const char *s2);

int strncasecmp(const char *s1, const char *s2, size_t n);

ОПИСАНИЕ
Функция strcasecmp() выполняет побайтовое сравнение строк s1 и s2, игнорируя регистр символов. Она возвращает целое число, которое меньше, равно или больше нуля, если выяснится, что s1 меньше, равна или больше s2 соответственно.

Функция strncasecmp() работает аналогичным образом, но сравниваются не более n байт строк s1 и s2.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функции strcasecmp() и strncasecmp() возвращают целое число, которое меньше, больше нуля или равно ему, если s1, без учёта регистра, соответственно меньше, больше или равна s2.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
strcasecmp(), strncasecmp() | Безвредность в нитях | MT-Safe locale

СООТВЕТСТВИЕ СТАНДАРТАМ
4.4BSD, POSIX.1-2001, POSIX.1-2008.

ЗАМЕЧАНИЯ
Впервые, функции strcasecmp() и strncasecmp() появились в 4.4BSD, где они объявлялись в <string.h>. Из-за этого, по причине исторической совместимости, в заголовочном файле glibc <string.h> также объявлены эти функции, если определён макрос тестирования свойств _DEFAULT_SOURCE (или, в glibc 2.19 и старее, _BSD_SOURCE).

В стандарте POSIX.1-2008 об этих функциях сказано:

    Если используется категория локали LC_CTYPE из локали POSIX, то эти функции должны работать как если бы строки были преобразованы к нижнему регистру и проводилось побайтовое сравнение. В противном случае результаты не определёны.

СМОТРИТЕ ТАКЖЕ
bcmp(3), memcmp(3), strcmp(3), strcoll(3), string(3), strncmp(3), wcscasecmp(3), wcsncasecmp(3)