다음을 통해 공유


_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

strncmp

_mbsnbcmp

wcsncmp

_tcsncmp_l

strncmp

_mbsnbcml

wcsncmp

요구 사항

루틴

필수 헤더

_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. 자세한 내용은 플랫폼 호출 예제을 참조하십시오.

참고 항목

참조

문자열 조작 (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbicmp, _mbsnbicmp_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

로캘

멀티 바이트 문자 시퀀스로 해석