memcmp()

Побайтово сравнить две области памяти

Прототип:

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

Аргументы:

s1
s2
Pointers to the buffers that you want to compare.
length
The number of bytes that you want to compare.

Библиотека:

libc

Описание:

The memcmp() function compares length bytes of the buffer pointed to by s1 to the buffer pointed to by s2.

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

<0
The object pointed to by s1 is less than the object pointed to by s2.
0
The object pointed to by s1 is equal to the object pointed to by s2.
>0
The object pointed to by s1 is greater than the object pointed to by s2.

Примеры:

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

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

$ ./a.out Less than

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

ANSI, POSIX 1003.1

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

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

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




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