wcscoll | Programming Place Plus C言語編 標準ライブラリのリファレンス

トップページC言語編標準ライブラリのリファレンス(名前順)

トップページC言語編標準ライブラリのリファレンス(ヘッダ別)


wcscoll関数

概要

ロケール特有の基準に沿って、ワイド文字列を比較する

ヘッダ

wchar.h

形式

int wcscoll(const wchar_t* s1, const wchar_t* s2);

引数

s1

比較対象のワイド文字列。

s2

比較対象のワイド文字列。

戻り値

現ロケールの基準で s1 の方が小さければ(前に来れば) 0 より小さい値が、s1 の方が大きければ(後に来れば) 0 より大きい値が、s1 と s2 が同じであれば 0 が返される。

詳細

ロケールの LC_COLLATEカテゴリの影響を受ける。

注意

使用例

#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <locale.h>

int main(void)
{
    // LC_COLLATE をネイティブロケールに変更
    if (setlocale(LC_COLLATE, "") == NULL) {
        fputs("ロケールの設定に失敗しました。\n", stderr);
        return EXIT_FAILURE;
    }

    printf("%d\n", wcscoll(L"abc", L"abc"));
    printf("%d\n", wcscoll(L"abc", L"ab"));
    printf("%d\n", wcscoll(L"abc", L"abc123"));
}

実行結果

0
1
-1

関連

マルチバイト文字列版の strcoll関数がある。
また、ロケールを考慮した文字列比較の効率を向上する目的で、wcsxfrm関数が使える。
ロケールの影響を受けない比較関数として、wcscmp関数wmemcmp関数などがある。

解説章


参考リンク


更新履歴

’2018/4/27 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る