strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
현재 로캘 또는 지정 된 로케일을 사용 하 여 두 문자열의 문자를 비교 합니다.
중요 |
---|
_mbsncmp및 _mbsncmp_l Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수. |
int strncmp(
const char *string1,
const char *string2,
size_t count
);
int wcsncmp(
const wchar_t *string1,
const wchar_t *string2,
size_t count
);
int _mbsncmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _mbsncmp_l(
const unsigned char *string1,
const unsigned char *string2,
size_t count,
_locale_t locale
);int _mbsnbcmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
매개 변수
string1, string2
비교할 문자열입니다.count
비교할 문자 수입니다.locale
사용 하는 로캘.
반환 값
관계의 부분 반환 값을 나타내는 string1 및 string2 다음과 같이 합니다.
반환 값 |
설명 |
---|---|
< 0 |
string1부분 문자열 보다 작거나 string2 부분 |
0 |
string1부분 문자열이 동일한 string2 부분 |
> 0 |
string1부분 문자열 보다 큰 string2 부분 |
오류를 _mbsncmp 반환 _NLSCMPERROR, 문자열을 정의 합니다.H와 MBSTRING입니다.H.
설명
strncmp 함수가 사전순으로 비교, 기껏해야 첫 번째 count 문자 string1 및 string2 및 부분 문자열 간의 관계를 나타내는 값을 반환 합니다.strncmp대/소문자 버전의 _strnicmp.wcsncmp and _mbsncmp are case-sensitive versions of _wcsnicmp and _mbsnicmp.
wcsncmp및 _mbsncmp 와이드 및 멀티 바이트 문자 버전의 strncmp.인수 및 반환 값을 wcsncmp 와이드 문자 문자열입니다. _mbsncmp 멀티 바이트 문자 문자열입니다._mbsncmp멀티 바이트 코드 페이지에 따라 멀티 바이트 문자 시퀀스를 인식 하 고 반환 _NLSCMPERROR 에 오류가 있습니다.
또한 _mbsncmp 매개 변수의 유효성을 검사 합니다.경우 string1 또는 string2 가 null 포인터인 경우에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 매개 변수 유효성 검사 .실행을 계속 하려면 허용 되는 경우 _mbsncmp 반환 _NLSCMPERROR 을 설정 하 고 errno 에 EINVAL.strncmp및 wcsncmp 매개 변수의 유효성을 검사 하지 않습니다.이러한 세 가지 함수 그렇지에 동일 하 게 동작 합니다.
출력 값의 설정에 의해 영향을 받지는 LC_CTYPE 범주 설정 로케일입니다. 볼 setlocale 에 대 한 자세한 내용은.없이 이러한 함수 버전을 _l 접미사는 현재 로케일에 대 한이 로케일 종속 동작; 사용 버전으로는 _l 접미사는 대신 전달 로캘 매개 변수를 사용 하는 경우를 제외 하 고 동일 합니다.자세한 내용은 로캘을 참조하십시오.
일반 텍스트 루틴 매핑
TCHAR입니다.H 루틴 |
_UNICODE 및 _Mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tcsnccmp |
strncmp |
_mbsncmp |
wcsncmp |
_tcsncmp |
strncmp |
_mbsnbcmp |
wcsncmp |
_tccmp |
매크로 또는 인라인 함수에 매핑 |
_mbsncmp |
매크로 또는 인라인 함수에 매핑 |
n/a |
n/a |
_mbsncmp_l |
n/a |
요구 사항
루틴 |
필수 헤더 |
---|---|
strncmp |
<string.h> |
wcsncmp |
<string.h> 또는 <wchar.h> |
_mbsncmp, _mbsncmp_l |
<mbstring.h> |
추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
// crt_strncmp.c
#include <string.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 %s\n\n",
string1, string2 );
printf( "Function: strncmp (first 10 characters only)\n" );
result = strncmp( string1, string2 , 10 );
if( result > 0 )
strcpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
strcpy_s( tmp, sizeof(tmp), "less than" );
else
strcpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
printf( "Function: strnicmp _strnicmp (first 10 characters only)\n" );
result = _strnicmp( string1, string2, 10 );
if( result > 0 )
strcpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
strcpy_s( tmp, sizeof(tmp), "less than" );
else
strcpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n", tmp );
}
해당 .NET Framework 항목
참고 항목
참조
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l