Функция Сравнивает два блока каждый из которых длино
в n байт.
Синтаксис #include
void *memcmp(const void *s1,
const void *s2, size_t n);
Файл содержащий mem.h,string.h
прототип
Описание
memcmp сравнивает первые n байт блоков s1 и s2,
как значения типа unsigned char.
Возвращаемое memcmp возвращает значение:
значение
<0 - если s1 меньше s2
=0 - если s1 равно s2
>0 - если s1 больше s2
Т.к. memcmp производит сравнение значе-
ний, имеющих тип unsigned char, то при
таком вызове:
memcmp("\xFF", "\x7F",1);
возвращаемое значение будет > 0.
Переносимость memcmp доступна в UNIX System V и поддерживается
стандартом ANSI C.
Смотрите также memccpymemmovememsetmovedatamovemem
Пример:
#include
#include
int main(void)
{
char *buf1 = "aaa";
char *buf2 = "bbb";
char *buf3 = "ccc";
int stat;
stat = memcmp(buf2,buf1,strlen(buf2));
if(stat>0)
printf("buf2 > buf1\n");
else
printf("buf2 < buf1\n");
stat = memcmp(buf2,buf3,strlen(buf2));
if(stat<0)
printf("buf2 > buf3\n");
else
printf("buf2 < buf3\n");
return 0;
}