std::wcscmp(3)
💖 NAME 💖
std::wcscmp - std::wcscmp — okay so bestie, this is the std::wcscmp(3) page from the C++ Standard Libary (yes, that spelling is theirs, I’m not fixing it 😭). It’s the wide-string comparison girlie, here to tell you which null-terminated wide string comes first lexicographically. Periodt.
✨ Synopsis ✨
Defined in header <cwchar> — the way that’s giving standard library 💅
int wcscmp( const wchar_t* lhs, const wchar_t* rhs );
Compares two null-terminated wide strings lexicographically. The sign of the result is literally the sign of the difference between the values of the first pair of wide characters that differ in the strings being compared. No cap.
🚨 Undefined behavior alert: the behavior is undefined iflhsorrhsare not pointers to null-terminated wide strings. Like, do not play with that, bestie. 😭
🫶 Parameters 🫶
lhs,rhs— pointers to the null-terminated wide strings to compare
💖 Return value 💖
- Negative value if
lhsappears beforerhsin lexicographical order. - Zero if
lhsandrhscompare equal. - Positive value if
lhsappears afterrhsin lexicographical order.
🧚 Notes 🧚
This 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. iykyk 🦋
🌈 Example 🌈
bestie, the original says // Run this code, so here’s the code in all its glory:
// Run this code
#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';
}
🍓 Possible output 🍓
Андропов
Брежнев
Горбачёв
Ленин
Маленков
Сталин
Хрущёв
Черненко
👑 See also 👑
wcsncmp— compares a certain amount of characters from two wide strings (function)wmemcmp— compares a certain amount of wide characters from two arrays (function)strcmp— compares two strings (function)wcscoll— compares two wide strings in accordance to the current locale (function)- C documentation for
wcscmp
source/version/date bestie: http://cppreference.com, version 2024.06.10, and yeah, std::wcscmp(3) said goodnight. mwah 💋✨
📦 where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 · MIT
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms