Namespaces
Variants

wcscmp

From cppreference.net
< c ‎ | string ‎ | wide
헤더 파일에 정의됨 <wchar.h>
int wcscmp ( const wchar_t * lhs, const wchar_t * rhs ) ;
(C95부터)

두 개의 널 종료 와이드 문자열을 사전식으로 비교합니다.

결과의 부호는 비교 중인 문자열에서 서로 다른 첫 번째 와이드 문자 쌍의 값 차이의 부호입니다.

동작은 lhs 또는 rhs 가 널 종료 와이드 문자열을 가리키는 포인터가 아닌 경우 정의되지 않습니다.

목차

매개변수

lhs, rhs - 비교할 널 종료 와이드 문자열에 대한 포인터

반환값

음수 값은 lhs 가 사전식 순서에서 rhs 보다 먼저 나타날 경우를 의미합니다.

lhs rhs 가 동일하게 비교되면 0입니다.

lhs rhs 보다 사전식 순서에서 뒤에 나타나면 양의 값.

참고 사항

이 함수는 wcscoll 과 달리 로캘에 민감하지 않으며, 서로 다른 유니코드 블록의 문자들이 함께 사용되거나 코드 단위의 순서가 어떤 정렬 순서와도 일치하지 않을 때 순서가 의미 없을 수 있습니다.

예제

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
void demo(const wchar_t* lhs, const wchar_t* rhs)
{
    int rc = wcscmp(lhs, rhs);
    const char *rel = rc < 0 ? "precedes" : rc > 0 ? "follows" : "equals";
    setlocale(LC_ALL, "en_US.utf8");
    printf("[%ls] %s [%ls]\n", lhs, rel, rhs);
}
int main(void)
{
    const wchar_t* string = L"どうもありがとうございます";
    demo(string, L"どうも");
    demo(string, L"助かった");
    demo(string + 9, L"ありがとうございます" + 6);
}

가능한 출력:

[どうもありがとうございます] follows [どうも]
[どうもありがとうございます] precedes [助かった]
[ざいます] equals [ざいます]

참고문헌

  • C23 표준 (ISO/IEC 9899:2024):
  • 7.29.4.4.1 wcscmp 함수 (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.29.4.4.1 wcscmp 함수 (p: TBD)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.29.4.4.1 wcscmp 함수 (p: 433)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.24.4.4.1 wcscmp 함수 (p: 379)

참고 항목

(C95)
두 개의 와이드 문자열에서 지정된 수의 문자를 비교합니다
(함수)
(C95)
두 개의 배열에서 지정된 수의 와이드 문자를 비교합니다
(함수)
두 개의 문자열을 비교합니다
(함수)
(C95)
현재 로캘에 따라 두 개의 와이드 문자열을 비교합니다
(함수)