Функція memcmp () у C ++ порівнює вказану кількість символів двох об'єктів покажчика
прототип memcmp ()
int memcmp (const void * lhs, const void * rhs, size_t count);
memcmp()
Функція приймає три аргументи: LHS, РІТ і порахувати. Ця функція спочатку інтерпретує об'єкти, на які вказують lhs та rhs, як масиви unsigned char
. Потім він порівнює перші лічильники символів lhs та rhs лексикографічно.
Це визначається у файлі заголовка "> файл заголовка.
Параметри memcmp ()
lhs and rhs
: Вказівник на об'єкти пам'яті для порівняння.count
: Максимальна кількість байт для порівняння.
memcmp () Повернене значення
Функція memcmp () повертає:
- додатне значення, якщо перший байт, що відрізняється
lhs
, більший за відповідний байт вrhs
. - негативне значення, якщо перший байт, що відрізняється
lhs
, менше, ніж відповідний байт вrhs
. - 0, якщо перші лічильні байти
lhs
іrhs
рівні.
Приклад: Як працює функція memcmp ()
#include #include using namespace std; void display(char *lhs, char *rhs, int result, int count) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Hello World!"; char rhs() = "Hello Earth!"; int result; result = memcmp(lhs, rhs, 5); display(lhs, rhs, result, 5); result = memcmp(lhs, rhs, 7); display(lhs, rhs, result, 7); return 0; )
Коли ви запускаєте програму, результат буде:
Перші 5 символів Hello World! і Привіт Земле! такі ж Hello Earth! передує Hello World!