_mbsnbcmp, _mbsnbcmp_l
Сравнивает байты n первые 2 строк многобайтовой кодировки.
Важно |
---|
Этот API нельзя использовать в приложениях, выполняемых в Среда выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW. |
int _mbsnbcmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _mbsnbcmp_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
Параметры
string1, string2
Строки для сравнения.count
Число байтов для сравнения.locale
Используемый языковой стандарт.
Возвращаемое значение
Возвращаемое значение подстроками показана связь между string1 и string.
Возвращаемое значение |
Описание |
---|---|
< 0 |
подстрока подстрока string1, чем string2. |
0 |
подстрока string1 идентична подстроке string2. |
> 0 |
подстрока string1 больше, чем подстрока string2. |
При возникновении ошибки _mbsnbcmp возвращает _NLSCMPERROR, которая определена в String.h и Mbstring.h.
Заметки
Функция _mbsnbcmp лексикографически сравнивает, по крайней мере, первые count байтов в string1 и string2 и возвращает значение, которое указывает на связь между подстроками._mbsnbcmp учитывается регистр версия _mbsnbicmp.В отличие от strcoll, _mbsnbcmp не зависеть от на языкового стандарта._mbsnbcmp распознает последовательности многобайтовой кодировки в соответствии с текущей многобайтовой кодовая страница.
_mbsnbcmp похож на _mbsncmp, за исключением того, что _mbsncmp можно сравнивать строки, а не байтами.
Выходное значение зависеть на категории параметром LC_CTYPE языкового стандарта; дополнительные сведения см. в разделе setlocale.Версия этой функции, которая не имеет суффикс _l используется текущий языковой стандарт для данного расширения функциональности языкового стандарта, элемента. версии с суффикс _l идентичны, за исключением того, что он используют параметры языкового стандарта, который передается в вместо.Для получения дополнительной информации см. Языковой стандарт.
Если string1 или string2 указатель, эта функция вызывает обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если среда выполнения может продолжить, функция возвращает значение _NLSCMPERROR, а свойство errno имеет значение EINVAL.
Универсальное текстовое сопоставление функций
Подпрограмма TCHAR.H |
Не указаны _UNICODE и _MBCS |
определенные _MBCS |
Определение _UNICODE |
---|---|---|---|
_tcsncmp |
_mbsnbcmp |
||
_tcsncmp_l |
_mbsnbcml |
Требования
Функция |
Требуемый заголовок |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_mbsnbcmp.c
#include <mbstring.h>
#include <stdio.h>
char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown fox jumps over the lazy dog";
int main( void )
{
char tmp[20];
int result;
printf( "Compare strings:\n %s\n", string1 );
printf( " %s\n\n", string2 );
printf( "Function: _mbsnbcmp (first 10 characters only)\n" );
result = _mbsncmp( string1, string2 , 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
printf( "Function: _mbsnicmp _mbsnicmp (first 10 characters only)\n" );
result = _mbsnicmp( string1, string2, 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
}
Output
Compare strings:
The quick brown dog jumps over the lazy fox
The QUICK brown fox jumps over the lazy dog
Function: _mbsnbcmp (first 10 characters only)
Result: String 1 is greater than string 2
Function: _mbsnicmp _mbsnicmp (first 10 characters only)
Result: String 1 is equal to string 2
Эквивалент в .NET Framework
Неприменимо. Для вызова стандартной функции C используйте PInvoke. Для получения дополнительной информации см. Примеры вызовов неуправляемого кода.
См. также
Ссылки
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l