wcscoll() —言語照合ストリングの比較

フォーマット

#include <wchar.h>
int wcscoll (const wchar_t *wcs1, const wchar_t *wcs2);

言語レベル: XPG4

スレッド・セーフ: はい。

ロケール依存: コンパイル・コマンドで LOCALETYPE(*LOCALE) が指定される場合、この関数の振る舞いは、現行ロケールの LC_COLLATE カテゴリーの影響を 受ける可能性があります。また、コンパイル・コマンドで LOCALETYPE(*LOCALEUCS2) または LOCALETYPE(*LOCALEUTF) が指定される場合、この関数の振る舞いは、 現行ロケールの LC_UNI_COLLATE カテゴリーの影響も受ける可能性があります。 この関数は、コンパイル・コマンドに対して LOCALETYPE(*CLD) が指定されている場合には使用できません。詳細については、CCSID およびロケールの理解を参照してください。

ワイド文字関数: 詳細については、ワイド文字 を参照してください。

説明

wcscoll() 関数は、 wcs1 および wcs2 が指すワイド文字ストリングを比較します。 これらは両方とも現行ロケールの LC_COLLATE カテゴリー (または、UNICODE LOCALETYPE が指定されている場合は LC_UNI_COLLATE カテゴリー) に対して適切なものと解釈されます。

戻り値

wcscoll() 関数は、ストリング間の関係を示す次のような整数値を戻します。

意味
0 より小さい値
wcs1wcs2 より小さい
0
wcs1wcs2 と等しい
0 より大きい値
wcs1wcs2 より大きい

wcs1 または wcs2 に、 照合シーケンスのドメイン外の文字が含まれる場合、wcscoll() 関数は errno を EINVAL に設定します。エラーが発生した場合、wcscoll() 関数は errno を非ゼロ値に設定します。エラーの戻り値はありません。

wcscoll() の使用例

この例はデフォルト・ロケールを使用しています。

#include <stdio.h>
#include <wchar.h>
 
int main(void)
{
   int result;
   wchar_t *wcs1 = L"first_wide_string";
   wchar_t *wcs2 = L"second_wide_string";
 
   result = wcscoll(wcs1, wcs2);
 
   if ( result == 0)
      printf("¥"%S¥" is identical to ¥"%S¥"¥n", wcs1, wcs2);
   else if ( result < 0)
      printf("¥"%S¥" is less than ¥"%S¥"¥n", wcs1, wcs2);
   else
      printf("¥"%S¥" is greater than ¥"%S¥"¥n", wcs1, wcs2);
}

関連情報



[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]