Функцията strncmp () в C ++ сравнява определен брой символи на два нулеви завършващи низа. Сравнението се извършва лексикографски.
strncmp () прототип
int strncmp (const char * lhs, const char * rhs, size_t count);
Най strncmp()
функция отнема два аргумента: LHS, RHS и количество. Той сравнява съдържанието на 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 героя на Армстронг и Армията са същите Армстронг предшества армията