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