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

std::wcscmp

Материал из cppreference.com
< cpp‎ | string‎ | wide
 
 
 
Широкие строки с завершающим нулём
Функции
Операции с символами
Преобразования в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Операции со строками
Операции с массивами
 
Определено в заголовочном файле <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';
}

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

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

[править] Смотрите также

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