std::wcscmp
From cppreference.com
| ヘッダ <cwchar> で定義 |
||
| int wcscmp( const wchar_t* lhs, const wchar_t* rhs ); |
||
2つのヌル終端ワイド文字列を辞書順で比較します。
結果の符号は、比較される文字列で最初に異なるワイド文字のペアの値の差の符号になります。
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'; }
出力
А Б Г Л М С Х Ч
[編集] 関連項目
| 2つのワイド文字列から指定された文字数を比較する (関数) | |
| 2つの配列から指定された数のワイド文字を比較する (関数) | |
| 2つの文字列を比較する (関数) | |
| 現在のロケールに従って2つのワイド文字列を比較する (関数) | |
| wcscmpのCドキュメント
| |