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 (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Linux man-pages 6.8