memicmp()

Побайтово сравнить два буфера с игнорированием регистра

Прототип:

#include <string.h>
int memicmp( const void *s1,
const void *s2,
size_t length );

Аргументы:

s1
s2
Указатели на сравниваемые буферы.
length
Размеры сравниваемых областей внутри буферов.

Библиотека:

libc

Описание:

Функция memcmp() сравнивает (без учёта регистра) length байт буфера s1, с length байт буфера s2.

Возвращаемое значение:

0
Объекты, расположенные в s1 и s2, равны.
<0
Объект, на который указывает s1, меньше объекта, на который указывает s2.
>0
Объект, на который указывает s1, больше объекта, на который указывает s2.


Note: Ненулевое значение соответствует результату сравнения первого отличающегося символа в обоих буферах, преобразованного к unsigned char.

Примеры:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main( void )
{
char buffer[80];
int retval;
strcpy( buffer, "World" );
retval = memicmp( buffer, "hello", 5 );
if ( retval < 0 )
{
printf( "Less than\n" );
} else
if ( retval == 0 )
{
printf( "Equal\n" );
} else {
printf( "Greater than\n");
}
return (EXIT_SUCCESS);
}

Код генерирует следующий вывод:

$ ./a.out Less than

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

memccpy(), memchr(), memcmp(), memcpy(), memmove(), memset()




Предыдущий раздел: Описание API системной библиотеки