std::wcscmp
来自 cppreference.com
定义在头文件 <cwchar> 中 |
||
int wcscmp( const wchar_t* lhs, const wchar_t* rhs ); |
||
以字典序比较两个以 null 结尾的宽字符串。
结果的符号是两个字符串中第一个不同的宽字符对的值的差的符号。
如果 lhs 或 rhs 不是指向以 null 结尾的宽字符串的指针,则行为未定义。
内容 |
[编辑] 参数
lhs, rhs | - | 指向要比较的以 null 结尾的宽字符串的指针 |
[编辑] 返回值
如果 lhs 在字典序中出现在 rhs 之前,则为负值。
如果 lhs 和 rhs 相等,则为零。
如果 lhs 在字典序中出现在 rhs 之后,则为正值。
[编辑] 说明
与 std::wcscoll 不同,此函数不依赖区域设置,当使用来自不同 Unicode 块的字符或代码单位的顺序不匹配排序顺序时,顺序可能没有意义。
[编辑] 示例
运行这段代码
#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'; }
可能的输出
Андропов Брежнев Горбачёв Ленин Маленков Сталин Хрущёв Черненко
[编辑] 参见
比较两个宽字符串中的特定数量的字符 (函数) | |
比较两个数组中的特定数量的宽字符 (函数) | |
比较两个字符串 (函数) | |
根据当前区域设置比较两个宽字符串 (函数) | |
C 文档 for wcscmp
|