strcasecmp(3) Library Functions Manual strcasecmp(3)

ИМЯ

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

Standard C library (libc, -lc)

СИНТАКСИС

#include <strings.h>
int strcasecmp(const char *s1, const char *s2);
int strncasecmp(const char s1[.n], const char s2[.n], size_t n);

ОПИСАНИЕ

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

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

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Функции strcasecmp() и strncasecmp() возвращают целое число, которое меньше, больше нуля или равно ему, если s1, без учёта регистра, соответственно меньше, больше или равна s2.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
strcasecmp(), strncasecmp() Безвредность в нитях MT-Safe locale

СТАНДАРТЫ

POSIX.1-2008.

ИСТОРИЯ

4.4BSD, POSIX.1-2001.

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

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

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

СМ. ТАКЖЕ

memcmp(3), strcmp(3), strcoll(3), string(3), strncmp(3), wcscasecmp(3), wcsncasecmp(3)

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Alexander Golubev <fatzer2@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Hotellook, Nikita <zxcvbnm3230@mail.ru>, Spiros Georgaras <sng@hellug.gr>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

20 июля 2023 г. Linux man-pages 6.05.01