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; }