close
Пространства имён
Варианты
Действия

std::wcscmp

Материал из cppreference.com
 
 
 
Широкие строки с завершающим нулём
Функции
Операции с символами
Преобразования в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Операции со строками
Операции с массивами
 
<tbody> </tbody>
Определено в заголовочном файле <cwchar>
int wcscmp( const wchar_t* lhs, const wchar_t* rhs );

Лексикографически сравнивает две широкие строки с нулевым завершающим символом.

Знаком результата является знак разности значений первой пары широких символов, различающихся в сравниваемых строках.

Поведение не определено, если lhs или rhs не являются указателями на широкие строки с нулевым завершающим символом.

Параметры

lhs, rhs указатели на широкие строки с нулевым завершающим символом для сравнения

Возвращаемое значение

Отрицательное значение, если lhs находится перед rhs в лексикографическом порядке.

Ноль, если lhs и rhs равны.

Положительное значение, если lhs находится после rhs в лексикографическом порядке.

Примечание

Эта функция не зависит от локали, в отличие от std::wcscoll, и порядок может не иметь смысла, когда символы из разных блоков Юникода используются вместе или когда порядок кодовых единиц не соответствует порядку сортировки.

Пример

#include <algorithm>
#include <cwchar>
#include <iostream>
#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 << '\n';
}

Возможный вывод:

Андропов
Брежнев
Горбачёв
Ленин
Маленков
Сталин
Хрущёв
Черненко

Смотрите также

сравнивает определённое количество символов из двух широких строк
(функция) [править]
сравнивает определённое количество широких символов из двух массивов
(функция) [править]
сравнивает две строки
(функция) [править]
сравнивает две широких строки в соответствии с текущей локалью
(функция) [править]