CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
memcmp, _fmemcmp
memcmp, _fmemcmp
Функция Сравнивает два блока каждый из которых длиной в n
байт.
Синтаксис #include<mem.h>
Версия near: void *memcmp(const void *s1, const
void *s2,size_t n);
Версия far: void *_fmemcmp(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.
Смотрите также memccpy, memmove, memset, movedata, movemem.
Пример:
#include<stdio.h>
#include<string.h>
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;
}
