_mbsnbicmp
, _mbsnbicmp_l
Сравнивает n байт из двух строк многобайтовых символов и игнорирует регистр.
Внимание
Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
int _mbsnbicmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
Параметры
string1
, string2
Строки с завершающим нулем для сравнения.
count
Число сравниваемых байтов.
Возвращаемое значение
Возвращаемое значение показывает связь между подстроками.
Возвращаемое значение | Description |
---|---|
< 0 | Подстрока string1 меньше, чем подстрока string2 . |
0 | Подстрока string1 идентична подстроке string2 . |
> 0 | Подстрока string1 больше, чем подстрока string2 . |
При ошибке _mbsnbicmp
возвращает значение _NLSCMPERROR
, которое определено в String.h и Mbstring.h.
Замечания
Функция _mbsnbicmp
выполняет порядковое сравнение не более count
первых байтов строк string1
и string2
. Сравнение выполняется путем преобразования каждого символа в нижний регистр; _mbsnbcmp
— версия _mbsnbicmp
, учитывающая регистр. Сравнение заканчивается, если был достигнут завершающий нуль-символ в любой из строк до того, как были сравнены count
симв. Если строки равны, когда завершающий нуль-символ достигается в любой из строк до того, как count
симв. сравнены, более короткая строка считается меньшей.
Функция _mbsnbicmp
аналогична _mbsnbcmp
за исключением того, что она сравнивает строки по байтам (до count
байтов), а не по символам.
Две строки, содержащие символы, расположенные между "Z" и "a" в таблице ASCII ("[", "\", "]", "^", "_" и ""), сравниваются по-разному в зависимости от их случая. Например, две строки "ABCDE" и "ABCD^" сравнивают один из способов, если сравнение является строчным регистром ("abcde" "abcd^") и другим способом ("ABCDE" > "ABCD < ^"), если это верхний регистр.
Функция _mbsnbicmp
распознает последовательности многобайтовых символов в соответствии с текущей используемой многобайтовой кодовой страницей. Это не влияет на текущий параметр языкового стандарта.
Если указатель string1
string2
имеет значение NULL, вызывает обработчик недопустимых параметров, _mbsnbicmp
как описано в разделе "Проверка параметров". Если выполнение может быть продолжено, функция возвращает _NLSCMPERROR
и устанавливает для параметра errno
значение EINVAL
.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
Подпрограмма Tchar.h | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_tcsnicmp |
_strnicmp |
_mbsnbicmp |
_wcsnicmp |
_tcsnicmp_l |
_strnicmp_l |
_mbsnbicmp_l |
_wcsnicmp_l |
Требования
Маршрут | Обязательный заголовок |
---|---|
_mbsnbicmp |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
См. пример для _mbsnbcmp
. _mbsnbcmp_l
См. также
Обработка строк
_mbsnbcat
, _mbsnbcat_l
_mbsnbcmp
, _mbsnbcmp_l
_stricmp
, , _wcsicmp
_stricmp_l
_mbsicmp
_wcsicmp_l
,_mbsicmp_l