memcmp – сравнение массивов.
Синтаксис:
#include < string.h >
memcmp (const void *arr1, const void *arr2, size_t n);
Аргументы:
arr1, arr2 – указатели на сравниваемые массивы.
n – размер сравниваемой части массива в байтах.
Возвращаемое значение:
0 – если сравниваемые части массивов идентичны.
Положительное число, если при сравнении массивов встретился отличный байт и байт из массива, на который указывает аргумент arr1, больше байта из массива, на который указывает аргумент arr2.
Отрицательное число, если при сравнении массивов встретился отличный байт и байт из массива, на который указывает аргумент arr1, меньше байта из массива, на который указывает аргумент arr2.
Описание:
Функция memcmp побайтно сравнивает два массива (области памяти), на которые указывают аргументы arr1 и arr2. Каждый байт массива определяется типом unsigned char. Сравнение продолжается, пока не будут проверено n байт или пока не встретятся отличающиеся байты.
Пример:
В примере сравниваются первые десять байт двух массивов, и результат выводится на экран.
#include < stdio.h > //Для printf
#include < string.h > //Для memcmp
int main (void)
{
// Исходные массивы
unsigned char src[15]=”1234567890”;
unsigned char dst[15]=”1234567890”;
// Сравниваем первые 10 байт массивов
// и результат выводим на экран
if (memcmp (src, dst, 10) == 0)
puts (“Области памяти идентичные.”);
else
puts (“Области памяти отличаются.”);
return 0;
}
| |
Результат:
Вывод в консоль:
Области памяти идентичные.
|
Смотри так же:
memcmp
strcmp
strcoll
strncmp
|