Функция strncmp () в C ++ сравнивает указанное количество символов двух завершающих нулем строк. Сравнение проводится лексикографически.
strncmp () прототип
int strncmp (const char * lhs, const char * rhs, size_t count);
strncmp()
Функция принимает два аргумента: LHS, РИТ и сосчитать. Он лексикографически сравнивает содержимое lhs и rhs с максимальным количеством символов count. Знак результата - это знак различия между первыми парами символов, которые различаются влево и вправо.
Поведение strncmp()
не определено, если любой из lhs или rhs не указывает на строки с завершающим нулем.
Он определен в заголовочном файле "> заголовочный файл.
Параметры strncmp ()
lhs and rhs
: Указатель на строки с завершающим нулем для сравнения.count
: Максимальное количество символов для сравнения.
strncmp () Возвращаемое значение
strncmp()
Функция возвращает:
- положительное значение, если первый различающийся символ в левой части больше, чем соответствующий знак в правой части.
- отрицательное значение, если первый отличающийся символ в левой части меньше соответствующего символа в правой части.
- 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 персонажа Армстронга и Армии такие же, как Армстронг предшествует Армии