トップページ > キーワード検索 > strcoll()
C言語規格
C言語(その他)
プログラム
その他
strcoll()
機能 2つの文字列を現地域の照合順序(collation)に基づいて比較する。
地域(LC_COLLATE部門)によって結果は異なる
定義 #include <string.h>

int strcoll ( const char * s1, const char * s2 );
引数
s1比較対象の文字列
s2比較対象の文字列
戻り値 引数s1が引数s2より大きい場合、0より大きい値を返す。
引数s1が引数s2より小さい場合、0より小さい値を返す。
引数s1が引数s2と等しい場合、0を返す。
実装例
#include <string.h>
#include <stdio.h>
#include <locale.h>

int main(void)
{
    int ret;
    
    /* 地域をスペイン語に設定 */
    printf("locale=%s\n", setlocale(LC_COLLATE, "Spanish"));
    
    /* スペイン語ではciよりもchの方が後の並び */
    ret = strcoll("ci", "ch");
    printf("[strcoll] ci : ch = %d\n", ret);
    
    /* 地域を考慮せずに比較すると逆となる */
    ret = strcmp("ci", "ch");
    printf("[strcmp ] ci : ch = %d\n", ret);
    
    return 0;
}
実行結果
locale=Spanish_Spain.1252
[strcoll] ci : ch = -1
[strcmp ] ci : ch = 1





inserted by FC2 system