strcoll 함수strcoll Functions

strcollwcscoll 함수는 현재 사용 중인 로캘 코드 페이지의 LC_COLLATE 범주 설정에 따라 두 개의 문자열을 비교합니다.Each of the strcoll and wcscoll functions compares two strings according to the LC_COLLATE category setting of the locale code page currently in use. _mbscoll 함수는 현재 사용 중인 멀티바이트 코드 페이지에 따라 두 개의 문자열을 비교합니다.Each of the _mbscoll functions compares two strings according to the multibyte code page currently in use. coll 함수는 현재 코드 페이지에서 문자 집합 순서와 사전적 문자 순서가 다르며 이러한 차이가 비교 시 중요한 경우의 문자열 비교에 사용합니다.Use the coll functions for string comparisons when there is a difference between the character set order and the lexicographic character order in the current code page and this difference is of interest for the comparison. 문자열 일치만 테스트하려면 해당 cmp 함수를 사용합니다.Use the corresponding cmp functions to test only for string equality.

strcoll 함수strcoll Functions

SBCSSBCS 유니코드(Unicode)Unicode MBCSMBCS 설명Description
strcollstrcoll wcscollwcscoll _mbscoll_mbscoll 두 문자열을 비교합니다.Collate two strings
_stricoll_stricoll _wcsicoll_wcsicoll _mbsicoll_mbsicoll 두 문자열을 비교합니다(대/소문자 구분).Collate two strings (case insensitive)
_strncoll_strncoll _wcsncoll_wcsncoll _mbsncoll_mbsncoll 두 문자열의 처음 count자를 비교합니다.Collate first count characters of two strings
_strnicoll_strnicoll _wcsnicoll_wcsnicoll _mbsnicoll_mbsnicoll 두 문자열의 처음 count자를 비교합니다(대/소문자 구분 없음).Collate first count characters of two strings (case-insensitive)

설명Remarks

이러한 함수(strcoll, stricoll, _strncoll_strnicoll)의 SBCS(싱글바이트 문자) 버전은 현재 로캘의 LC_COLLATE 범주 설정에 따라 string1string2를 비교합니다.The single-byte character (SBCS) versions of these functions (strcoll, stricoll, _strncoll, and _strnicoll) compare string1 and string2 according to the LC_COLLATE category setting of the current locale. 이러한 함수는 strcoll 함수가 데이터 정렬 시퀀스를 제공하는 로캘 코드 페이지 정보를 사용한다는 측면에서 해당 strcmp 함수와 다릅니다.These functions differ from the corresponding strcmp functions in that the strcoll functions use locale code page information that provides collating sequences. 문자 집합 순서와 사전적 문자 순서가 다른 로캘에서 문자열을 비교하는 경우 해당 strcmp 함수가 아닌 strcoll 함수를 사용해야 합니다.For string comparisons in locales in which the character set order and the lexicographic character order differ, the strcoll functions should be used rather than the corresponding strcmp functions. LC_COLLATE에 대한 자세한 내용은 setlocale을 참조하세요.For more information on LC_COLLATE, see setlocale.

일부 코드 페이지와 해당 문자 집합의 경우 문자 집합의 문자 순서가 사전적 문자 순서와 다를 수 있습니다.For some code pages and corresponding character sets, the order of characters in the character set may differ from the lexicographic character order. "C" 로캘에서는 해당되지 않습니다. 즉, ASCII 문자 집합에서 문자의 순서는 문자의 사전적 순서와 동일합니다.In the "C" locale, this is not the case: the order of characters in the ASCII character set is the same as the lexicographic order of the characters. 예를 들어 특정 유럽 코드 페이지의 문자 집합에서 문자 'a'(값 0x61)는 문자 'ä'(값 0xE4) 앞에 오지만 사전적으로는 문자 'ä'가 'a' 앞에 옵니다.However, in certain European code pages, for example, the character 'a' (value 0x61) precedes the character 'ä' (value 0xE4) in the character set, but the character 'ä' precedes the character 'a' lexicographically. 이러한 인스턴스에서 사전적 비교를 수행하려면 strcmp 대신 strcoll을 사용합니다.To perform a lexicographic comparison in such an instance, use strcoll rather than strcmp. 또는 원본 문자열에 strxfrm를 사용한 다음 결과 문자열에 strcmp을 사용할 수 있습니다.Alternatively, you can use strxfrm on the original strings, then use strcmp on the resulting strings.

strcoll``stricoll, _strncoll_strnicoll은 해당 와이드 문자(유니코드) 요소와 마찬가지로 현재 사용 중인 로캘 코드 페이지에 따라 멀티바이트 문자열을 자동으로 처리합니다.strcoll, stricoll, _strncoll, and _strnicoll automatically handle multibyte-character strings according to the locale code page currently in use, as do their wide-character (Unicode) counterparts. 그러나 이러한 함수의 MBCS(멀티 바이트 문자) 버전은 현재 사용 중인 멀티바이트 코드 페이지에 따라 문자 단위로 문자열을 비교합니다.The multibyte-character (MBCS) versions of these functions, however, collate strings on a character basis according to the multibyte code page currently in use.

coll 함수는 문자열을 비교하기 위해 사전적으로 대조하는 반면 cmp 함수는 문자열이 같은지 여부만 테스트하므로 coll 함수는 해당 cmp 버전보다 훨씬 더 느립니다.Because the coll functions collate strings lexicographically for comparison, whereas the cmp functions simply test for string equality, the coll functions are much slower than the corresponding cmp versions. 따라서 coll 함수는 현재 코드 페이지에서 문자 집합 순서와 사전적 문자 순서가 다르며 이러한 차이가 문자열 비교 시 중요한 경우에만 사용해야 합니다.Therefore, the coll functions should be used only when there is a difference between the character set order and the lexicographic character order in the current code page and this difference is of interest for the string comparison.

참고 항목See Also

로캘 Locale
문자열 조작 String Manipulation
localeconv localeconv
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l _mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
setlocale, _wsetlocale setlocale, _wsetlocale
strcmp, wcscmp, _mbscmp strcmp, wcscmp, _mbscmp
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l _strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_lstrxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l