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


_mbsnbicmp, _mbsnbicmp_l

Сравнивает n байтов двух строк многобайтовых символов и не учитывает регистр.

Важно!

Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows.Дополнительные сведения см. в разделе Функции CRT, которые не поддерживаются с ключом /ZW.

int _mbsnbicmp(    const unsigned char *string1,    const unsigned char *string2,    size_t count  );

Параметры

  • string1, string2
    Строки с завершающим нулем для сравнения.

  • count
    Число сравниваемых байтов.

Возвращаемое значение

Возвращаемое значение показывает связь между подстроками.

Возвращаемое значение

Описание

< 0

Подстрока string1 меньше, чем подстрока string2.

0

Подстрока string1 идентична подстроке string2.

> 0

Подстрока string1 больше, чем подстрока string2.

При ошибке _mbsnbcmp возвращает значение _NLSCMPERROR, которое определено в String.h и Mbstring.h.

Заметки

Функция _mbsnbicmp выполняет порядковое сравнение не более count первых байтов строк string1 и string2. Сравнение выполняется путем преобразования каждого символа в нижний регистр; _mbsnbcmp — версия _mbsnbicmp, учитывающая регистр. Сравнение заканчивается, если был достигнут завершающий нуль-символ в любой из строк до того, как были сравнены count симв. Если строки равны, когда завершающий нуль-символ достигается в любой из строк до того, как count симв. сравнены, более короткая строка считается меньшей.

Функция _mbsnbicmp аналогична _mbsnicmp за исключением того, что она сравнивает строки по байтам (до count байтов), а не по символам.

Две строки, содержащие символы, которые расположены между Z и a в таблице ASCII ("[", "\", "]", "^", "_" и "`"), сравниваются по-разному в зависимости от их регистра. Например, две строки ABCDE и ABCD^ сравниваются с одним результатом, если сравнение производится в нижнем регистре (abcde > abcd^), и с другим, если сравнение производится в верхнем регистре (ABCDE < ABCD^).

Функция _mbsnbicmp распознает последовательности многобайтовых символов в соответствии с текущей многобайтовой кодовой страницей. На нее не влияет текущий параметр языкового стандарта.

Если string1 или string2 является пустым указателем, функция _mbsnbicmp вызывает обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, функция возвращает _NLSCMPERROR и устанавливает для параметра errno значение EINVAL.

Универсальное текстовое сопоставление функций

Подпрограмма Tchar.h

_UNICODE и _MBCS не определены

_MBCS определено

_UNICODE определено

_tcsnicmp

_strnicmp

_mbsnbicmp

_wcsnicmp

_tcsnicmp_l

_strnicmp_l

_mbsnbicmp_l

_wcsnicmp_l

Требования

Подпрограмма

Обязательный заголовок

_mbsnbicmp

<mbstring.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

См. пример в разделе _mbsnbcmp, _mbsnbcmp_l.

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызова неуправляемого кода.

См. также

Ссылки

Управление строками (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l