Поделиться через


_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