Функција стрнцмп () у Ц ++ упоређује одређени број знакова два нулта завршна низа. Поређење се врши лексикографски.
стрнцмп () прототип
инт стрнцмп (цонст цхар * лхс, цонст цхар * рхс, сизе_т цоунт);
strncmp()
Функција узима два аргумента: лхс, РХС и грофа. Лексикографски упоређује садржај лхс и рхс до највише бројева знакова. Знак резултата је знак разлике између првих парова знакова који се разликују у лхс и рхс.
Понашање оф strncmp()
је недефинисано ако било који од лхс или рхс не упућују на нулл завршене низове.
Дефинисано је у датотеци заглавља "> датотека заглавља.
стрнцмп () Параметри
lhs and rhs
: Показивач на нулто завршене низове за упоређивање.count
: Максималан број знакова за упоређивање.
стрнцмп () Повратна вредност
strncmp()
Функција враћа А:
- позитивна вредност ако је први различити знак у лхс већи од одговарајућег карактера у рхс.
- негативна вредност ако је први знак који се разликује у лхс мањи од одговарајућег карактера у рхс.
- 0 ако су први бројеви знакова лхс и рхс једнаки.
Пример: Како функционише функција стрнцмп ()
#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 лика Армстронга и Армије су исти Армстронг претходи Армији