_mbsnbcoll
, _mbsnbcoll_l
, _mbsnbicoll
_mbsnbicoll_l
멀티바이트 코드 페이지 정보를 사용하여 n
바이트의 두 멀티바이트 문자열을 비교합니다.
Important
이 API는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다. 자세한 내용은 유니버설 Windows 플랫폼 앱에서 지원되지 않는 CRT 함수를 참조하세요.
구문
int _mbsnbcoll(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _mbsnbcoll_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
int _mbsnbicoll(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _mbsnbicoll_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
매개 변수
string1
, string2
비교할 문자열입니다.
count
비교할 바이트 수입니다.
locale
사용할 로캘입니다.
반환 값
반환 값은 string1
및 string2
의 부분 문자열 간 관계를 나타냅니다.
반환 값 | 설명 |
---|---|
< 0 | string1 부분 문자열이 string2 부분 문자열보다 작습니다. |
0 | string1 부분 문자열이 string2 부분 문자열과 같습니다. |
> 0 | string1 부분 문자열이 string2 부분 문자열보다 큽니다. |
INT_MAX
string2
count
NULL
매개 string1
변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우, 이러한 함수는 _NLSCMPERROR
를 반환하고 errno
를 EINVAL
로 설정합니다. _NLSCMPERROR
를 사용하려면 String.h 또는 Mbstring.h를 포함합니다.
설명
이러한 각 함수는 string1
및 string2
에서 처음 count
바이트 이하를 대조하고 string1
및 string2
의 결과 부분 문자열 간 관계를 나타내는 값을 반환합니다. 부분 문자열의 string1
최종 바이트 또는 string2
리드 바이트인 경우 비교에 포함되지 않습니다. 이러한 함수는 부분 문자열의 전체 문자만 비교합니다. _mbsnbicoll
는 대소문자를 구분하지 않는 _mbsnbcoll
버전입니다. _mbsnbcmp
및 _mbsnbicmp
와 마찬가지로 _mbsnbcoll
및 _mbsnbicoll
은 현재 사용 중인 멀티바이트 코드 페이지에 지정된 사전적 순서에 따라 두 멀티바이트 문자열을 대조합니다.
일부 코드 페이지와 해당 문자 집합의 경우 문자 집합의 문자 순서가 사전적 문자 순서와 다를 수 있습니다. "C" 로캘에서 ASCII 문자 집합의 문자 순서는 문자의 사전순과 같습니다. 예를 들어 특정 유럽 코드 페이지의 문자 집합에서 문자 'a'(값 0x61)는 문자 'ä'(값 0xE4) 앞에 오지만 사전적으로는 문자 'ä'가 'a' 앞에 옵니다. 이러한 상황에서 바이트로 문자열의 사전적 비교를 수행하려면 _mbsnbcmp
대신 _mbsnbcoll
을 사용하고, 문자열이 같은지 여부만 확인하려면 _mbsnbcmp
를 사용하세요.
coll
함수는 문자열을 비교하기 위해 사전적으로 대조하는 반면 cmp
함수는 문자열이 같은지 여부만 테스트하므로 coll
함수는 해당 cmp
버전보다 훨씬 더 느립니다. 따라서 함수는 coll
현재 코드 페이지에서 문자 집합 순서와 사전적 문자 순서 간에 차이가 있고 이 차이가 비교에 관심이 있는 경우에만 사용해야 합니다.
출력 값은 로캘의 LC_CTYPE
범주 설정에 영향을 받습니다. 자세한 내용은 setlocale
를 참조하세요. _l
접미사가 없는 이러한 함수 버전은 이 로캘 종속 동작에 현재 로캘을 사용하며, _l
접미사가 있는 버전은 전달된 로캘 매개 변수를 대신 사용하는 경우를 제외하고는 동일합니다. 자세한 내용은 Locale을 참조하세요.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
일반 텍스트 루틴 매핑
Tchar.h 루틴 | _UNICODE 및 _MBCS 정의되지 않음 |
정의된 _MBCS |
정의된 _UNICODE |
---|---|---|---|
_tcsncoll |
_strncoll |
_mbsnbcoll |
_wcsncoll |
_tcsncoll_l |
_strncoll_l |
_mbsnbcoll_l |
_wcsncoll_l |
_tcsnicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll_l |
_strnicoll_l |
_mbsnbicoll_l |
_wcsnicoll_l |
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
_mbsnbcoll |
<mbstring.h> |
_mbsnbcoll_l |
<mbstring.h> |
_mbsnbicoll |
<mbstring.h> |
_mbsnbicoll_l |
<mbstring.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
참고 항목
문자열 조작
_mbsnbcat
, _mbsnbcat_l
_mbsnbcmp
, _mbsnbcmp_l
_mbsnbicmp
, _mbsnbicmp_l
strcoll
함수
strncmp
, wcsncmp
, _mbsncmp
_mbsncmp_l
_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
_mbsnicmp_l