_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 содержат коды расширенных символов вне домена сортированной последовательности. При возникновении ошибки _wcsncoll может установить errno в EINVAL. Для проверки ошибок при вызове _wcsncoll установите errno в 0 и проверьте errno после вызова _wcsncoll.
Заметки
Каждая из этих функций выполняет сравнение с учетом регистра первых count символов в string1 и string2 согласно кодовой странице, которая используется в настоящее время. Эти функции следует использовать только в том случае, когда есть различие между порядком символов в наборе и лексикографическим порядке символов в кодовой странице, и когда данное различие представляет интерес во время сравнения строк. Порядок кодировок зависит от языкового стандарта. Версии этих функций без суффикса _l используют текущий языковой стандарт, но версии с суффиксом _l используют переданный языковой стандарт. Для получения дополнительной информации см. Языковой стандарт.
Все эти функции производят проверку своих параметров. Если либо string1, либо string2 является указателем на null или если count больше INT_MAX, то вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если продолжение выполнения разрешено, эти функции возвращают _NLSCMPERROR и устанавливают для errno значение EINVAL.
Универсальное текстовое сопоставление функций
Подпрограмма TCHAR.H |
_UNICODE & _MBCS не определены |
_MBCS определено |
_UNICODE определено |
---|---|---|---|
_tcsnccoll |
_strncoll |
_mbsncoll |
_wcsncoll |
_tcsncoll |
_strncoll |
_wcsncoll |
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_strncoll, _strncoll_l |
<string.h> |
_wcsncoll, _wcsncoll_l |
<wchar.h> или <string.h> |
_mbsncoll, _mbsncoll_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Эквивалент в .NET Framework
См. также
Ссылки
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l