다음을 통해 공유


lstrcmpiW 함수(winbase.h)

두 문자 문자열을 비교합니다. 대/소문자를 구분하지 않고 비교합니다.

대/소문자를 구분하는 비교를 수행하려면 lstrcmp 함수를 사용합니다.

구문

int lstrcmpiW(
  [in] LPCWSTR lpString1,
  [in] LPCWSTR lpString2
);

매개 변수

[in] lpString1

형식: LPCWSTR

비교할 첫 번째 null로 끝나는 문자열입니다.

[in] lpString2

형식: LPCWSTR

비교할 두 번째 null로 끝나는 문자열입니다.

반환 값

형식: int

lpString1이 가리키는 문자열이 lpString2가 가리키는 문자열보다 작으면 반환 값은 음수입니다. lpString1이 가리키는 문자열이 lpString2가 가리키는 문자열보다 크면 반환 값은 양수입니다. 문자열이 같으면 반환 값은 0입니다.

설명

lstrcmpi 함수는 같지 않음을 찾거나 문자열 끝에 도달할 때까지 첫 번째 문자를 서로 비교하고 두 번째 문자를 서로 비교하여 두 문자열을 비교합니다.

lpString1lpString2 매개 변수는 null로 종료되어야 합니다. 그렇지 않으면 문자열 비교가 올바르지 않을 수 있습니다.

함수는 현재 스레드 로캘 을 사용하여 CompareStringEx를 호출하고 결과에서 2를 빼 문자열을 비교하기 위한 C 런타임 규칙을 유지 관리합니다.

일부 로캘의 경우 lstrcmpi 함수가 충분하지 않을 수 있습니다. 이 경우 CompareStringEx를 사용하여 적절한 비교를 확인합니다. 예를 들어 일본에서는 NORM_IGNORECASE, NORM_IGNOREKANATYPENORM_IGNOREWIDTH 값을 사용하여 를 호출하여 가장 적절한 정확하지 않은 문자열 비교를 수행합니다. NORM_IGNOREKANATYPENORM_IGNOREWIDTH 값은 비아시아 로캘에서 무시되므로 모든 로캘에 대해 이러한 값을 설정하고 로캘에 관계없이 문화적으로 올바른 "민감하지 않은" 정렬이 보장될 수 있습니다. 이러한 값을 지정하면 성능이 저하되므로 필요한 경우에만 사용합니다.

이 함수는 시스템의 DBCS(더블 바이트 문자 집합) 버전을 사용하여 두 개의 DBCS 문자열을 비교할 수 있습니다.

lstrcmpi 함수는 문자열 정렬이 아닌 단어 정렬을 사용합니다. 단어 정렬은 하이픈과 아포스트로피를 영숫자가 아닌 다른 기호를 처리하는 것과 다르게 처리하여 "coop" 및 "co-op"과 같은 단어가 정렬된 목록 내에서 함께 유지되도록 합니다. 단어 정렬 및 문자열 정렬에 대한 자세한 내용은 애플리케이션에서 정렬 처리를 참조하세요.

보안 설명

비교 함수 선택에 대한 보안 고려 사항은 보안 고려 사항: 국가별 기능을 참조하세요.

참고

winbase.h 헤더는 lstrcmpi를 별칭으로 정의하여 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

CompareString

CompareStringEx

CompareStringOrdinal

개념

기타 리소스

참조

문자열

lstrcat

lstrcmp

lstrcpy

lstrlen