次の方法で共有


strcoll 系関数

strcollwcscoll およびの各関数は現在使用中のロケールのコード ページの LC_COLLATE のカテゴリの設定に従って 2 文字列を比較します。_mbscoll の関数は現在使用中のマルチバイト コード ページに従って 2 文字列を比較します。文字セットの順序現在のコード ページの辞書式の順序とこの相違点の違いを比較の対象である場合は文字列比較に coll の関数を使用します。文字列が等しいかどうかだけをテストするには cmp の対応する関数を使用します。

系関数

SBCS

Unicode

MBCS

Description

wcscoll

_mbscoll

2 文字列を照合します。

_stricoll

_wcsicoll

_mbsicoll

Collate 2 文字列 (大文字と小文字を区別) を

_strncoll

_wcsncoll

_mbsncoll

2 文字列の count の最初の文字を照合します。

_strnicoll

_wcsnicoll

_mbsnicoll

2 文字列の count の最初の文字を照合します (大文字と小文字を区別しない)

解説

これらの関数 (SBCS) (strcollstricoll_strncoll と _strnicoll) のバイト文字バージョンは現在のロケールの LC_COLLATE のカテゴリの設定に従って string1 と string2 を比較します。これらの関数は strcmp の対応する関数と関数が strcoll の照合順序を提供するロケールのコード ページの情報を使用することです。文字セットの順序が辞書式の順序と異なるロケールの文字列比較についてはstrcoll の関数は strcmp の対応する関数ではなくを使用する必要があります。LC_COLLATE の詳細については、「setlocale、_wsetlocale」を参照してください。

対応するコード ページと文字セットでは文字セットの文字の順序が辞書式の順序と異なる場合があります。15 「 C 」ロケールではこれは該当しません。: ASCII 文字セットの文字の順序が辞書式の文字の順序と同じです。ただしヨーロッパの一部のコード ページ (たとえば文字 " a (値 0x61) 文字セットの文字 「 ä " (値 0xE4) の前にありますが文字 「 ä 「では辞書式を指定します。このようなインスタンスで辞書式の比較を実行するにはstrcmp ではなく strcoll を使用します。また元の文字列の strxfrm を使用し結果の文字列の strcmp を使用します。

ワイド (Unicode 文字) に対応するように strcollstricoll_strncoll と _strnicoll は現在使用中のロケールのコード ページに従って自動的にマルチバイト文字を処理します。ただしこれらの関数のマルチバイト文字 (MBCS) バージョンは現在使用中のマルチバイト コード ページに従って文字単位で文字列を照合します。

coll の関数は比較のための文字列を辞書式を照合するためcmp の関数が文字列が等しいかどうかを単純にテストする場合は coll の関数は cmp の対応するバージョンよりもかなり遅くなります。したがってcoll の関数は文字セットの順序現在のコード ページの辞書式の順序とこの相違点の違いが文字列比較の対象である場合のみ使用します。

参照

関連項目

ロケール

文字列操作 (CRT)

localeconv

_mbsnbcoll、_mbsnbcoll_l、_mbsnbicoll、_mbsnbicoll_l

setlocale、_wsetlocale

strcmp、wcscmp、_mbscmp

strncmp、wcsncmp、_mbsncmp、_mbsncmp_l

_strnicmp、_wcsnicmp、_mbsnicmp、_strnicmp_l、_wcsnicmp_l、_mbsnicmp_l

strxfrm、wcsxfrm、_strxfrm_l、_wcsxfrm_l