名前空間
変種
操作

std::wcscmp

提供: cppreference.com
< cpp‎ | string‎ | wide
ヘッダ <cwchar> で定義
int wcscmp( const wchar_t* lhs, const wchar_t* rhs );

2つのヌル終端ワイド文字列を辞書的に比較します。

結果の符号は比較する文字列内の最初の異なるワイド文字の組の値の差の符号です。

lhs または rhs がヌル終端ワイド文字列を指すポインタでない場合、動作は未定義です。

目次

[編集] 引数

lhs, rhs - 比較するヌル終端ワイド文字列を指すポインタ

[編集] 戻り値

辞書順で lhsrhs より前に現れる場合は負の値。

lhsrhs が等しい場合はゼロ。

辞書順で lhsrhs より後に現れる場合は正の値。

[編集] ノート

この関数は、 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';
}

出力例:

Андропов
Брежнев
Горбачёв
Ленин
Маленков
Сталин
Хрущёв
Черненко

[編集] 関連項目

2つのワイド文字列の文字を一定量比較します
(関数) [edit]
2つの配列のワイド文字を一定量比較します
(関数) [edit]
2つの文字列を比較します
(関数) [edit]
現在のロケールに従って2つのワイド文字列を比較します
(関数) [edit]