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 文档 关于 wcscmp 的文档
|