Localization library | |||||||||||||||||||||||||
Regular expressions library(C++11) | |||||||||||||||||||||||||
Formatting library(C++20) | |||||||||||||||||||||||||
Null-terminated sequence utilities | |||||||||||||||||||||||||
Byte strings | |||||||||||||||||||||||||
Multibyte strings | |||||||||||||||||||||||||
Wide strings | |||||||||||||||||||||||||
Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Text encoding identifications | |||||||||||||||||||||||||
|
Functions | ||||||||||||||||||||||||||
Character classification | ||||||||||||||||||||||||||
Character manipulation | ||||||||||||||||||||||||||
Conversions to numeric formats | ||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||
String manipulation | ||||||||||||||||||||||||||
String examination | ||||||||||||||||||||||||||
Array manipulation | ||||||||||||||||||||||||||
Defined in header <cwchar> | ||
int wcscmp(constwchar_t* lhs,constwchar_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 iflhs orrhs are not pointers to null-terminated wide strings.
Contents |
lhs, rhs | - | pointers to the null-terminated wide strings to compare |
Negative value iflhs appears beforerhs in lexicographical order.
Zero iflhs andrhs compare equal.
Positive value iflhs appears afterrhs in lexicographical order.
This function is not locale-sensitive, unlikestd::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.
#include <algorithm>#include <cwchar>#include <iostream>#include <locale>#include <vector> int main(){std::vector<constwchar_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:
А Б Г Л М С Х Ч
compares a certain amount of characters from two wide strings (function)[edit] | |
compares a certain amount of wide characters from two arrays (function)[edit] | |
compares two strings (function)[edit] | |
compares two wide strings in accordance to the current locale (function)[edit] | |
C documentation forwcscmp |