std:: wcscmp
|
Определено в заголовочном файле
<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 <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'; }
Вывод:
А Б Г Л М С Х Ч
Смотрите также
|
сравнивает определённое количество символов из двух широких строк
(функция) |
|
|
сравнивает определённое количество широких символов из двух массивов
(функция) |
|
|
сравнивает две строки
(функция) |
|
|
сравнивает две широкие строки в соответствии с текущей локалью
(функция) |
|
|
Документация C
для
wcscmp
|
|