_mbsnbcmp, _mbsnbcmp_l
첫 번째 비교 n 두 멀티 바이트 문자 문자열의 바이트 수입니다.
중요 |
---|
이 API를 실행 하는 응용 프로그램에서 사용할 수 있는 Windows 런타임.자세한 내용은 /zw에 지원 되는 CRT 함수. |
int _mbsnbcmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _mbsnbcmp_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);
매개 변수
string1, string2
비교할 문자열입니다.count
비교할 바이트 수입니다.locale
사용 하는 로캘.
반환 값
반환 값의 부분 문자열 간의 관계를 나타내는 string1 및 string.
반환 값 |
설명 |
---|---|
< 0 |
string1부분 문자열 보다 작거나 string2 부분입니다. |
0 |
string1부분 문자열이 동일 string2 부분입니다. |
> 0 |
string1부분 문자열 보다 큰 것 string2 부분입니다. |
오류가에서 _mbsnbcmp 반환 _NLSCMPERROR, String.h 및 Mbstring.h에 정의 됩니다.
설명
_mbsnbcmp 함수가 사전순으로 비교, 기껏해야 첫 번째 count 바이트 string1 및 string2 및 부분 문자열 간의 관계를 나타내는 값을 반환 합니다._mbsnbcmp대/소문자 버전의 _mbsnbicmp.달리 strcoll, _mbsnbcmp 로케일에 의해 영향을 받지 않습니다._mbsnbcmp현재 멀티 바이트에 따라 멀티 바이트 문자 시퀀스를 인식 코드 페이지.
_mbsnbcmp유사한 _mbsncmp제외 하 고 _mbsncmp 문자가 아닌 바이트 문자열을 비교 합니다.
출력 값에 영향을 받습니다의 LC_CTYPE 범주 설정 로케일입니다. 볼 setlocale 에 대 한 자세한 내용은.버전 없는이 함수는 _l 접미사에 대 한이 로케일 종속 동작입니다; 현재 로케일을 사용 하 여 이 버전의 _l 접미사 대신 전달 되는 로캘 매개 변수를 사용 하는 것을 제외 하 고 동일 합니다.자세한 내용은 로캘을 참조하십시오.
경우 string1 또는 string2 는 null 포인터에 설명 된 대로 잘못 된 매개 변수 처리기를이 함수를 호출 매개 변수 유효성 검사.함수 실행을 계속 하도록 허용 된 경우, 반환 _NLSCMPERROR 및 errno 로 설정 된 EINVAL.
일반 텍스트 루틴 매핑
Tchar.h 루틴 |
_UNICODE 및 _mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tcsncmp |
_mbsnbcmp |
||
_tcsncmp_l |
_mbsnbcml |
요구 사항
루틴 |
필수 헤더 |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
자세한 호환성에 대 한 내용은 호환성.
예제
// crt_mbsnbcmp.c
#include <mbstring.h>
#include <stdio.h>
char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown fox jumps over the lazy dog";
int main( void )
{
char tmp[20];
int result;
printf( "Compare strings:\n %s\n", string1 );
printf( " %s\n\n", string2 );
printf( "Function: _mbsnbcmp (first 10 characters only)\n" );
result = _mbsncmp( string1, string2 , 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
printf( "Function: _mbsnicmp _mbsnicmp (first 10 characters only)\n" );
result = _mbsnicmp( string1, string2, 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
}
Output
Compare strings:
The quick brown dog jumps over the lazy fox
The QUICK brown fox jumps over the lazy dog
Function: _mbsnbcmp (first 10 characters only)
Result: String 1 is greater than string 2
Function: _mbsnicmp _mbsnicmp (first 10 characters only)
Result: String 1 is equal to string 2
해당 .NET Framework 항목
해당 사항 없음. 표준 C 함수를 호출 하려면 PInvoke. 자세한 내용은 플랫폼 호출 예제을 참조하십시오.
참고 항목
참조
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l