int strncmp(const char *str1, const char *str2, size_t count)
int strnicmp(const char *str1, const char *str2, size_t count)
int strncmpi(const char *str1, const char *str2, size_t count)
int far _fstrncmp(const char far *str1, const char far *str2, size_t count)
int far _fstrnicmp(const char far *str1, const char far *str2, size_t count)
Прототип:
Описание:
Только функция strncmp() определена стандартом ANSI С.
Функция strncmp() осуществляет лексикографическое сравнение не более чем count символов из двух строк, оканчивающихся нулевыми символами. Функции strnicmp() и strnicmpi() выполняют такое же сравнение, но не делают различия между буквами верхнего и нижнего регистров; strnicmpi() — это макрос, который транслируется в вызов функции strnicmp().
Обе функции возвращают целое число, зависящее от результата сравнения следующим образом:
Число | Значение |
---|---|
Меньше 0 | str1 меньше, чем str2 |
0 | str1 равна str2 |
Больше 0 | str1 больше, чем str2 |
Если в одной из строк имеется меньше чем count символов, то сравнение прерывается, как только встретится первый нулевой символ.
Функция _fstrncmp() является FAR-версией функции strncmp().
Функция _fstrnicmp() является FAR-версией функции strnicmp().
Пример:
Следующая функция сравнивает первые восемь символов имен двух файлов, заданных в командной строке, чтобы выяснить, одинаковы ли они:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
if (!strnicmp(argv[1] , argv[2], 8))
printf("The filenames are the same.\n");
else
printf("The filenames differ.\n");
return 0;
}
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
if (!strnicmp(argv[1] , argv[2], 8))
printf("The filenames are the same.\n");
else
printf("The filenames differ.\n");
return 0;
}