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


_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

Можно сравнивать строки с помощью сведений языкового стандарта.

Важное примечаниеВажно

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

int _strncoll(
   const char *string1,
   const char *string2,
   size_t count 
);
int _wcsncoll(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count 
);
int _mbsncoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _strncoll_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsncoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count,
   _locale_t locale
);
int _mbsncoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Параметры

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

  • count
    Число символов для сравнения.

  • locale
    Используемый языковой стандарт.

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

Каждая из этих функций возвращает значение, которое указывает на связь подстрок string1 и string2 следующим образом.

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

Связь string1 и string2

< 0

Значение string1 меньше значения string2.

0

идентично string1 значение string2.

> 0

Значение string1 больше значения string2.

Каждая из этих функций возвращает _NLSCMPERROR.Чтобы использовать _NLSCMPERROR, включить или STRING.h или Mbstring.h._wcsncoll может завершиться неудачей, если string1 или string2 содержат кода, юникод, вне домена collating последовательности.При возникновении ошибки, _wcsncoll можно задать для errno значение EINVAL.Для проверки ошибок при вызове _wcsncoll, присвойте параметру errno значение 0, а затем проверьте errno после вызова _wcsncoll.

Заметки

Каждая из этих функций выполняет сравнение с учетом регистра и первых символов count в string1 и string2, в соответствии с кодовой странице, в настоящее время используются.Используйте эти функции, только если различие между порядком кодировки и лексикографическим порядком символов в кодовой странице, если это отличие представляет интерес для сравнения строк.Порядок кодировки языкового стандарта зависимого.Версии этих функций, не с помощью суффикса _l текущий языковой стандарт, только версии с помощью суффикса _l языковой стандарт, который передается в.Для получения дополнительной информации см. Языковой стандарт.

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

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

Функция TCHAR.H

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

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

Определение _UNICODE

_tcsnccoll

_strncoll

_mbsncoll

_wcsncoll

_tcsncoll

_strncoll

_mbsnbcoll

_wcsncoll

Требования

Функция

Требуемый заголовок

_strncoll, _strncoll_l

<string.h>

_wcsncoll, _wcsncoll_l

<wchar.h> или <string.h>

_mbsncoll, _mbsncoll_l

<mbstring.h>

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

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

System::String::Compare

См. также

Ссылки

Языковой стандарт

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

функции strcoll

localeconv

_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

setlocale, _wsetlocale

strcmp, wcscmp, _mbscmp

_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l