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 ,此函数不考虑本地环境。而且在一同使用来自不同的 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'; }
可能的输出:
Андропов Брежнев Горбачёв Ленин Маленков Сталин Хрущёв Черненко
参阅
比较来自两个宽字符串的一定量宽字符 (函数) | |
比较来自两个数组的一定量宽字符 (函数) | |
比较两个字符串 (函数) | |
按照当前本地环境比较两个宽字符串 (函数) |