std::wcscmp
STD::wcscmp
Defined in header | | |
---|---|---|
int wcscmp( const wchar_t* lhs, const wchar_t* rhs | | |
按字典顺序比较两个以空结尾的宽字符串。
结果的符号是所比较的字符串中第一对宽字符的值之间差异的符号。
如果lhs
或rhs
不是指向以空结尾的宽字符串的指针。
参数
lhs, rhs | - | pointers to the null-terminated wide strings to compare |
---|
返回值
负值lhs
出现在前面rhs
按字典顺序排列。
零中频lhs
和rhs
比较平等。
正值lhs
出现在rhs
按字典顺序排列。
注记
此函数不区分区域设置,不像std::wcscoll
,如果同时使用不同Unicode块中的字符,或者当代码单元的顺序与排序规则顺序不匹配时,则该顺序可能没有意义。
例
二次
#include <vector>
#include <cwchar>
#include <algorithm>
#include <iostream>
int main()
{
std::vector<const wchar_t*> leaders{L"Ленин", L"Сталин", L"Маленков",
L"Хрущёв", L"Брежнев", L"Андропов", L"Черненко", L"Горбачёв"};
std::sort(leaders.begin(), leaders.end(), [](auto strA, auto strB) {
return std::wcscmp(strA, strB) < 0;
}
std::setlocale(LC_ALL, "en_US.utf8"
std::wcout.imbue(std::locale("en_US.utf8")
for (auto leader : leaders)
std::wcout << leader << '\n';
}
二次
可能的产出:
二次
Андропов
Брежнев
Горбачёв
Ленин
Маленков
Сталин
Хрущёв
Черненко
二次
另见
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 wcscmp文档
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。