Сравнить две ASCII-строки с игнорированием регистра
#include <string.h>int stricmp( const char *s1,const char *s2 );
libc
Функция stricmp() сравнивает строки, адреcуемые параметрами s1 и s2, игнорируя их регистр.
Все символы верхнего регистра в s1 и s2 транслируются в нижний регистр дл задач сравнения. Исходные строки при этом не изменяются.
![]() | Перевод в нижний регистр осуществляется только в рамках ASCII-таблицы. Для других однобайтовых кодировок текста это может оказаться не применимо. |
Функция stricmp() аналогична strcmpi().
#include <stdio.h>#include <string.h>#include <stdlib.h>int main( void ){printf( "%d\n", stricmp( "AbCDEF", "abcdef" ) );printf( "%d\n", stricmp( "abcdef", "ABC" ) );printf( "%d\n", stricmp( "abc", "ABCdef" ) );printf( "%d\n", stricmp( "Abcdef", "mnopqr" ) );printf( "%d\n", stricmp( "Mnopqr", "abcdef" ) );return (EXIT_SUCCESS);}
Код генерирует следующий вывод:
$ ./a.out 0 100 -100 -12 12
ЗОСРВ «Нейтрино»
strcasecmp(), strcmp(), strcmpi(), strcoll(), strncasecmp(), strncmp(), strnicmp(), wcscmp(), wcscoll(), wcsncmp()
Предыдущий раздел: Описание API системной библиотеки