std::wcscmp
来自 cppreference.cn
在头文件 <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 <algorithm> #include <cwchar> #include <iostream> #include <locale> #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[0] << ' '; std::wcout << '\n'; }
输出
А Б Г Л М С Х Ч
[编辑] 参阅
比较两个宽字符串中的一定数量的字符 (函数) | |
比较两个数组中一定数量的宽字符 (函数) | |
比较两个字符串 (函数) | |
根据当前语言环境比较两个宽字符串 (函数) | |
C 文档 for wcscmp
|