Namespaces
Variants

std:: wcscmp

From cppreference.net
헤더 파일에 정의됨 <cwchar>
int wcscmp ( const wchar_t * lhs, const wchar_t * rhs ) ;

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

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

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

목차

매개변수

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

반환값

음수 값은 lhs rhs 보다 사전식 순서에서 앞에 오는 경우를 나타냅니다.

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

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

참고 사항

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

예제

#include <algorithm>
#include <cwchar>
#include <iostream>
#include <locale>
#include <vector>
int main()
{
    std::vector<const wchar_t*> leaders
    {
        L"Ленин", L"Сталин", L"Маленков", L"Хрущёв",
        L"Брежнев", L"Андропов", L"Черненко", L"Горбачёв"
    };
    std::ranges::sort(leaders, [](auto leaderLHS, auto leaderRHS)
    {
        return std::wcscmp(leaderLHS, leaderRHS) < 0;
    });
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("en_US.utf8"));
    for (auto leader : leaders)
        std::wcout << leader[0] << ' ';
    std::wcout << '\n';
}

출력:

А Б Г Л М С Х Ч

참고 항목

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