#include <string.h>
int memcmp(const void *buf1, const void *buf2, size_t count);
Функция memcmp() сравнивает первые count символов массивов, адресуемых параметрами buf1 и buf2.
Функция memcmp() возвращает целое значение, которое интерпретируется следующим образом.
Значение | Результат сравнения |
---|---|
Меньше нуля | buf1 меньше buf2 |
Нуль | buf1 равен buf2 |
Больше нуля | buf1 больше buf2 |
Пример
Данная программа выдает результат сравнения двух своих аргументов, которые задаются в командной строке.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int outcome, len, l1, l2;
if(argc!=3) {
printf("Неверно задано число аргументов.");
exit(1);
}
/* определение длины более короткой строки */
l1 = strlen(argv[1]);
l2 = strlen(argv[2]);
len = l1 < l2 ? l1:l2;
outcome = memcmp(argv[1], argv[2], len);
if(!outcome) printf("Равны");
else if(outcome<0) printf("Первый меньше второго.");
else printf("Первый больше второго.");
return 0;
}
Зависимые функции
memchr() memcpy() strcmp()