다음을 통해 공유


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l_mbscoll_l

현재 로캘 또는 지정된 변환 상태 범주를 사용하여 문자열을 LC_COLLATE 비교합니다.

Important

Windows 런타임에서 실행되는 애플리케이션에서는 _mbscoll_mbscoll_l을 사용할 수는 없습니다. 자세한 내용은 유니버설 Windows 플랫폼 앱에서 지원되지 않는 CRT 함수를 참조하세요.

구문

int strcoll(
   const char *string1,
   const char *string2
);
int wcscoll(
   const wchar_t *string1,
   const wchar_t *string2
);
int _mbscoll(
   const unsigned char *string1,
   const unsigned char *string2
);
int _strcoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int wcscoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbscoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   _locale_t locale
);

매개 변수

string1, string2
비교할 Null 종료 문자열입니다.

locale
사용할 로캘입니다.

반환 값

이러한 각 함수는 다음과 같이 관계를 나타내는 string1 string2값을 반환합니다.

반환 값 string1 관계 string2
< 0 string1string2보다 짧음
0 string1 = string2
> 0 string1 > string2

이러한 각 함수는 오류 시 _NLSCMPERROR를 반환합니다. _NLSCMPERROR를 사용하려면 STRING.H 또는 MBSTRING.H를 포함합니다. wcscoll 는 정렬 시퀀스의 도메인 외부에 있는 와이드 문자 코드이거나 string1 string2 NULL 포함된 경우 실패할 수 있습니다. 오류가 발생하면 wcscoll에서 errnoEINVAL로 설정할 수 있습니다. wcscoll에 대한 호출 시 오류가 있는지 확인하려면 errno를 0으로 설정한 다음 wcscoll 호출 후 errno를 검사합니다.

설명

이러한 각 함수는 현재 사용 중인 코드 페이지에 따라 string1string2를 대/소문자를 구분하며 비교합니다. 이러한 함수는 현재 코드 페이지에서 문자 집합 순서와 사전적 문자 순서 사이에 차이가 있고 문자열 비교에 관심이 있는 경우에만 사용해야 합니다.

이러한 모든 함수는 해당 함수 매개 변수의 유효성을 검사합니다. string1 Null 포인터이거나 string2 null 포인터이거나 보다 INT_MAX큰 경우 count 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우, 이러한 함수는 _NLSCMPERROR를 반환하고 errnoEINVAL로 설정합니다.

두 문자열의 비교는 로캘 종속 작업입니다. 각 로캘에서 문자의 순서를 지정하는 규칙은 서로 다르기 때문입니다. _l 접미사가 없는 이러한 함수 버전은 이 로캘 종속 동작에 현재 스레드의 로캘을 사용합니다. _l 접미사가 있는 버전은 현재 로캘 대신 매개 변수로 전달된 로캘을 사용한다는 점을 제외하면 접미사가 없는 해당 함수와 동일합니다. 자세한 내용은 Locale을 참조하세요.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

일반 텍스트 루틴 매핑

TCHAR.H 루틴 _UNICODE_MBCS 정의되지 않음 정의된 _MBCS 정의된 _UNICODE
_tcscoll strcoll _mbscoll wcscoll

요구 사항

루틴에서 반환된 값 필수 헤더
strcoll <string.h>
wcscoll <wchar.h>, <string.h>
_mbscoll, _mbscoll_l <mbstring.h>
_strcoll_l <string.h>
_wcscoll_l <wchar.h>, <string.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

참고 항목

Locale
문자열 조작
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