Функція strncmp () в C ++ порівнює вказану кількість символів двох нульових завершувальних рядків. Порівняння проводиться лексикографічно.
прототип strncmp ()
int strncmp (const char * lhs, const char * rhs, count_t count);
strncmp()
Функція приймає два аргументи: LHS, РІТ і порахувати. Він порівнює вміст lhs і rhs лексикографічно до максимального числа символів. Ознакою результату є ознака різниці між першими парами символів, які відрізняються за lhs і rhs.
Поведінка команди strncmp()
невизначено, якщо будь-який із lhs або rhs не вказує на нульові завершені рядки.
Це визначається у файлі заголовка "> файл заголовка.
Параметри strncmp ()
lhs and rhs
: Вказівник на рядки з нульовим закінченням для порівняння.count
: Максимальна кількість символів для порівняння.
strncmp () Повертається значення
strncmp()
Функція повертає:
- додатне значення, якщо перший символ, що відрізняється в lhs, більший, ніж відповідний символ у rhs.
- негативне значення, якщо перший символ, що відрізняється в lhs, менший за відповідний символ у rhs.
- 0, якщо перші лічильники символів lhs та rhs рівні.
Приклад: Як працює функція strncmp ()
#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() = "Armstrong"; char rhs() = "Army"; int result; result = strncmp(lhs,rhs,3); display(lhs,rhs,result,3); result = strncmp(lhs,rhs,4); display(lhs,rhs,result,4); return 0; )
Коли ви запускаєте програму, результат буде:
Перші 3 персонажі Армстронга та Армії - це той самий Армстронг, що передує Армії