int wcscmp( const wchar_t* lhs, const wchar_t* rhs );
Compares two null-terminated wide strings lexicographically.
The sign of the result is the sign of the difference between the values of the first pair of wide characters that differ in the strings being compared.
The behavior is undefined if lhs or rhs are not pointers to null-terminated wide strings.
[edit] Parameters lhs, rhs - pointers to the null-terminated wide strings to compare [edit] Return valueNegative value if lhs appears before rhs in lexicographical order.
Zero if lhs and rhs compare equal.
Positive value if lhs appears after rhs in lexicographical order.
[edit] NotesThis function is not locale-sensitive, unlike std::wcscoll, and the order may not be meaningful when characters from different Unicode blocks are used together or when the order of code units does not match collation order.
[edit] Example#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'; }
Output:
[edit] See also compares a certain amount of characters from two wide stringsRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4