_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
문자열의 소문자 비교를 수행 합니다.
중요 |
---|
_mbsicmp및 _mbsicmp_l Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수. |
int _stricmp(
const char *string1,
const char *string2
);
int _wcsicmp(
const wchar_t *string1,
const wchar_t *string2
);
int _mbsicmp(
const unsigned char *string1,
const unsigned char *string2
);
int _stricmp_l(
const char *string1,
const char *string2,
_locale_t locale
);
int _wcsicmp_l(
const wchar_t *string1,
const wchar_t *string2,
_locale_t locale
);
int _mbsicmp_l(
const unsigned char *string1,
const unsigned char *string2,
_locale_t locale
);
매개 변수
string1, string2
비교 하려면 null로 끝나는 문자열입니다.locale
사용 하는 로캘.
반환 값
반환 값의 관계를 나타내는 string1 에 string2 는 다음과 같이 합니다.
반환 값 |
설명 |
---|---|
< 0 |
string1보다 작거나string2 |
0 |
string1동일 합니다string2 |
> 0 |
string1보다 큼string2 |
오류를 _mbsicmp 반환 _NLSCMPERROR, 문자열을 정의 합니다.H와 MBSTRING입니다.H.
설명
_stricmp 함수는 사전순으로 소문자 버전의 비교 string1 및 string2 와 관계를 나타내는 값을 반환 합니다._stricmp다릅니다 _stricoll 에 _stricmp 비교에서 영향을 받는 LC_CTYPE반면의 _stricoll 비교 따라는 LC_CTYPE 및 LC_COLLATE 로케일 범주.에 대 한 자세한 내용은 LC_COLLATE 범주를 참조 하십시오 setlocale 및 로케일 범주.없이 이러한 함수 버전은 _l 접미사는 현재 로캘을 로캘 종속 동작을 사용 합니다.버전 접미사를 대신 전달 하는 로캘을 사용 하는 것을 제외 하 고 동일 합니다.자세한 내용은 로캘을 참조하십시오.
[!참고]
_stricmp는 _strcmpi와 같습니다.같은 의미로 사용 될 수 있지만 _stricmp 선호 하는 표준입니다.
_strcmpi 함수에 해당 하는 _stricmp 및 이전 버전과 호환성을 위해서만 제공 됩니다.
때문에 stricmp 비교를 소문자로 하지 예기치 않은 동작을 초래할 수 있습니다.
시기를 설명 하기 위해 사례 변환에 의해 stricmp 의 결과 영향을 비교, 존스와 JOHN_HENRY 두 문자열이 있다고 가정 합니다.존스 보다 작으면 JOHN_HENRY로 간주 되는 문자열 "_"는 소문자 S. 보다 더 낮은 ASCII 값 있기 때문에사실, 91 96 사이의 ASCII 값이 모든 문자 문자 미만 중 간주 됩니다.
경우는 strcmp 함수를 사용 하 여 대신 stricmp, JOHN_HENRY 존스 보다 큰 수 있습니다.
_wcsicmp및 _mbsicmp 와이드 및 멀티 바이트 문자 버전의 _stricmp.인수 및 반환 값을 _wcsicmp 와이드 문자 문자열입니다. _mbsicmp 멀티 바이트 문자 문자열입니다._mbsicmp현재 멀티 바이트 코드 페이지에 따라 멀티 바이트 문자 시퀀스를 인식 하 고 반환 _NLSCMPERROR 에 오류가 있습니다.(자세한 내용은 코드 페이지.) 이러한 세 가지 함수 그렇지에 동일 하 게 동작 합니다.
_wcsicmp및 wcscmp 를 제외 하 고는 동일 하 게 동작 wcscmp 해당 인수를 비교 하기 전에 소문자로 변환 하지 않습니다._mbsicmp및 _mbscmp 를 제외 하 고는 동일 하 게 동작 _mbscmp 해당 인수를 비교 하기 전에 소문자로 변환 하지 않습니다.
호출 하면 setlocale 에 대 한 _wcsicmp Latin 1 문자 작업.C 로켈을 기본적으로 적용 되므로, 예를 들어, ä Ä 같은지 비교 합니다입니다.호출 setlocale 를 호출 하기 전에 C 로케일 이외의 다른 로케일 _wcsicmp.다음 샘플에서는 보여 줍니다 어떻게 _wcsicmp 로케일으로 중요 한 것:
// crt_stricmp_locale.c
#include <string.h>
#include <stdio.h>
#include <locale.h>
int main() {
setlocale(LC_ALL,"C"); // in effect by default
printf("\n%d",_wcsicmp(L"ä", L"Ä")); // compare fails
setlocale(LC_ALL,"");
printf("\n%d",_wcsicmp(L"ä", L"Ä")); // compare succeeds
}
대신 호출 하는 것 _create_locale, _wcreate_locale 반환 된 로캘 개체를 매개 변수로 전달 하 고 _wcsicmp_l.
이러한 모든 기능 매개 변수의 유효성을 검사 합니다.경우 string1 또는 string2 는 NULL 에 설명 된 대로 포인터에 잘못 된 매개 변수 처리기 호출 매개 변수 유효성 검사 .이러한 함수는 실행을 계속 하도록 허용 된 경우, 반환 _NLSCMPERROR 및 설정 errno 에 EINVAL.
일반 텍스트 루틴 매핑
TCHAR입니다.H 루틴 |
_UNICODE 및 _Mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tcsicmp |
_stricmp |
_mbsicmp |
_wcsicmp |
요구 사항
루틴 |
필수 헤더 |
---|---|
_stricmp, _stricmp_l |
<string.h> |
_wcsicmp, _wcsicmp_l |
<string.h> 또는 <wchar.h> |
_mbsicmp, _mbsicmp_l |
<mbstring.h> |
추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
// crt_stricmp.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown dog jumps over the lazy fox";
int main( void )
{
char tmp[20];
int result;
// Case sensitive
printf( "Compare strings:\n %s\n %s\n\n", string1, string2 );
result = strcmp( string1, string2 );
if( result > 0 )
strcpy_s( tmp, _countof(tmp), "greater than" );
else if( result < 0 )
strcpy_s( tmp, _countof(tmp), "less than" );
else
strcpy_s( tmp, _countof(tmp), "equal to" );
printf( " strcmp: String 1 is %s string 2\n", tmp );
// Case insensitive (could use equivalent _stricmp)
result = _stricmp( string1, string2 );
if( result > 0 )
strcpy_s( tmp, _countof(tmp), "greater than" );
else if( result < 0 )
strcpy_s( tmp, _countof(tmp), "less than" );
else
strcpy_s( tmp, _countof(tmp), "equal to" );
printf( " _stricmp: String 1 is %s string 2\n", tmp );
}
해당 .NET Framework 항목
참고 항목
참조
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l