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

先頭へ戻る

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") );

    return 0;
}

実行結果

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


参考リンク

更新履歴

'2018/4/27 新規作成。





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

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

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

Programming Place Plus のトップページへ


このエントリーをはてなブックマークに追加
rss1.0 取得ボタン RSS