strcoll 함수

각각의 strcoll 및 wcscoll 함수에 따라 두 문자열을 비교는 LC_COLLATE 범주의 설정은 현재 사용 중인 로케일 코드 페이지의.각각의 _mbscoll 함수에서 현재 사용 하는 멀티 바이트 코드 페이지에 따라 두 문자열을 비교 합니다.사용은 coll lexicographic 문자 순서와 문자 집합 순서 사이의 차이점이 현재 코드 페이지에 때이 차이점 비교에 대 한 관심은 문자열 비교에 대 한 함수입니다.해당 하는 사용 하 여 cmp 문자열 일치 함수에 대해서만 테스트 합니다.

strcoll 함수

반자

Unicode

MBCS

설명

strcoll

wcscoll

_mbscoll

두 문자열을 한 부씩 인쇄

_stricoll

_wcsicoll

_mbsicoll

두 개의 문자열 (대/소문자 구분 안 함)를 한 부씩 인쇄

_strncoll

_wcsncoll

_mbsncoll

먼저 한 부씩 인쇄 count 두 문자열의 문자

_strnicoll

_wcsnicoll

_mbsnicoll

먼저 한 부씩 인쇄 count 문자가 두 개의 문자열 (대/소문자 구분)

설명

이러한 함수는 싱글바이트 문자 (SBCS) 버전 (strcoll, stricoll, _strncoll, 및 _strnicoll) 비교 string1 및 string2 에 따라는 LC_COLLATE 현재 로케일 범주 설정.해당이 함수를 다 strcmp 함수에는 strcoll 함수는 데이터 정렬 시퀀스를 제공 하는 로케일 코드 페이지 정보를 사용 합니다.문자열 비교에 로케일의 문자 순서를 설정 하 고 lexicographic 문자 순서가 다를 경우에 strcoll 보다는 해당 함수를 사용 해야 합니다 strcmp 함수.에 대 한 자세한 내용은 LC_COLLATE를 참조 하십시오 setlocale.

코드 페이지와 해당 문자 집합에 대 한 순서 문자에 문자 집합 lexicographic 문자 순서와 다를 수 있습니다."C" 로케일에서이 않습니다: 순서 문자에는 ASCII 문자 집합의 문자 lexicographic 순서와 동일 합니다.그러나 특정 유럽 코드 페이지에서 예를 들어, 문자 'a' (값 0x61) 'ä' (0xE4)의 값은 문자 집합 문자를 제외한 문자 앞에 'ä' 앞의 문자 'a' 사전순입니다.이러한 상황에서 lexicographic 비교를 수행 하려면 사용 하 여 strcoll 대신 strcmp.또는 사용할 수 있습니다 strxfrm 다음 원래 문자열을 사용 하 여 strcmp 결과 문자열입니다.

strcollstricoll, _strncoll, 및 _strnicoll 와이드 문자 (유니코드)의 해당 요소와 현재 사용 중인 로케일 코드 페이지에 따라 멀티 바이트 문자 문자열을 자동으로 처리 합니다.이러한 함수는 (MBCS) 멀티 바이트 문자 버전, 현재 사용 중인 멀티 바이트 코드 페이지에 따라 문자에 따라 문자열을 합쳐집니다.

때문에 coll 함수 문자열 비교에 대 한 사전순 대조 되는 반면에 cmp 함수가 문자열이 같은지 여부를 테스트 하기만 하면 됩니다는 coll 함수는 해당 보다 훨씬 더 느린 cmp 버전.따라서는 coll 함수는 현재 코드 페이지에서 문자 집합 순서 및 lexicographic 문자 순서는 차이가이 차이점은 문자열 비교에 대 한 관심입니다 경우에 사용 해야 합니다.

참고 항목

참조

로캘

문자열 조작 (CRT)

localeconv

_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

setlocale을 _wsetlocale

strcmp, wcscmp, _mbscmp

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l