次の方法で共有


strcoll、wcscoll、_mbscoll、_strcoll_l、_wcscoll_l、_mbscoll_l

現在のロケールまたは指定された LC_CTYPE 変換の状態カテゴリを使用して文字列を比較します。

重要 : 重要

_mbscoll と _mbscoll_l は、Windows のランタイムで実行するアプリケーションで使用することはできません。詳細については、でサポート /ZW CRT 関数" "を参照してください。

int strcoll(
   const char *string1,
   const char *string2 
);
int wcscoll(
   const wchar_t *string1,
   const wchar_t *string2 
);
int _mbscoll(
   const unsigned char *string1,
   const unsigned char *string2 
);
int _strcoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale 
);
int wcscoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale 
);
int _mbscoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   _locale_t locale 
);

パラメーター

  • string1, string2
    比較する、NULL で終わる文字列。

  • locale
    使用するロケール。

戻り値

これらの関数は string2に string1 の関係を示す値を次のように返します。

戻り値

string1 が string2 の関係

< 0

string1string2未満

0

string2と同一 のstring1

> 0

string2より大きいstring1

これらの関数はエラーの _NLSCMPERROR を返します。_NLSCMPERRORを使用するには、STRING.H か MBSTRING.H.を含めます。wcscoll は string1 か string2 が NULL であるか、照合順序のドメインの外部のコードこれが含まれている場合は失敗します。エラーが発生した場合、wcscoll は EINVALに errno を設定している可能性があります。wcscollに呼び出しのエラーを確認するには、errno を 0 に設定し、をに wcscollを呼び出した後 errno をチェックします。

解説

これらの関数は、現在使用中のコード ページに従って string1 と string2 の大文字と小文字を区別する比較を実行します。これらの関数は、文字セットの順序、現在のコード ページの辞書式の順序とこの相違点の違いが文字列比較の対象である場合のみ使用します。

これらの関数はすべて、パラメーターを検証します。string1string2 またはが null ポインターの場合、または count が INT_MAXより大きい場合、無効なパラメーター ハンドラーが パラメーターの検証 に説明されているように、開始されます。実行の継続が許可された場合、これらの関数は _NLSCMPERROR を返し、errno を EINVAL に設定します。

2 番目の文字列の比較は、各ロケールに文字を並べ替えるために別の規則があるため、ロケール依存の操作です。_l のサフィックスを使用しないこれらの関数の各バージョンはこのロケールに依存する動作に現在のスレッドのロケールを使用します; _l のサフィックスのバージョンは、サフィックスなしで対応する関数と同じものですが、現在のロケールの代わりにパラメーターとして渡されたロケールを使用します。詳細については、「ロケール」を参照してください。

汎用テキスト ルーチンのマップ

TCHAR.H のルーチン

_UNICODE および _MBCS が未定義の場合

_MBCS が定義されている場合

_UNICODE が定義されている場合

_tcscoll

strcoll

_mbscoll

wcscoll

必要条件

ルーチン

必須ヘッダー

strcoll

<string.h>

wcscoll

<wchar.h>、<string.h>

_mbscoll, _mbscoll_l

<mbstring.h>

_strcoll_l

<string.h>

_wcscoll_l

<wchar.h>、<string.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

同等の .NET Framework 関数

System::String::Compare

参照

関連項目

ロケール

文字列操作 (CRT)

strcoll 系関数

localeconv

_mbsnbcoll、_mbsnbcoll_l、_mbsnbicoll、_mbsnbicoll_l

setlocale、_wsetlocale

strcmp、wcscmp、_mbscmp

_stricmp、_wcsicmp、_mbsicmp、_stricmp_l、_wcsicmp_l、_mbsicmp_l

strncmp、wcsncmp、_mbsncmp、_mbsncmp_l

_strnicmp、_wcsnicmp、_mbsnicmp、_strnicmp_l、_wcsnicmp_l、_mbsnicmp_l

strxfrm、wcsxfrm、_strxfrm_l、_wcsxfrm_l