Namespaces
Variants

std:: wcscmp

From cppreference.net
Definido en el encabezado <cwchar>
int wcscmp ( const wchar_t * lhs, const wchar_t * rhs ) ;

Compara dos cadenas anchas terminadas en nulo lexicográficamente.

El signo del resultado es el signo de la diferencia entre los valores del primer par de caracteres anchos que difieren en las cadenas que se están comparando.

El comportamiento es indefinido si lhs o rhs no son punteros a cadenas anchas terminadas en nulo.

Contenidos

Parámetros

lhs, rhs - punteros a las cadenas anchas terminadas en nulo a comparar

Valor de retorno

Valor negativo si lhs aparece antes que rhs en orden lexicográfico.

Cero si lhs y rhs son iguales.

Valor positivo si lhs aparece después de rhs en orden lexicográfico.

Notas

Esta función no es sensible a la configuración regional, a diferencia de std::wcscoll , y el orden puede no ser significativo cuando se utilizan caracteres de diferentes bloques Unicode juntos o cuando el orden de las unidades de código no coincide con el orden de intercalación.

Ejemplo

#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';
}

Salida:

А Б Г Л М С Х Ч

Véase también

compara una cantidad determinada de caracteres de dos cadenas anchas
(función)
compara una cantidad determinada de caracteres anchos de dos arreglos
(función)
compara dos cadenas
(función)
compara dos cadenas anchas de acuerdo con la configuración regional actual
(función)
Documentación C para wcscmp