CompareStringOrdinal 関数 (stringapiset.h)

2 つの Unicode 文字列を比較して、バイナリの等価性をテストします。

構文

int CompareStringOrdinal(
  [in] _In_NLS_string_(cchCount1)LPCWCH lpString1,
  [in] int                              cchCount1,
  [in] _In_NLS_string_(cchCount2)LPCWCH lpString2,
  [in] int                              cchCount2,
  [in] BOOL                             bIgnoreCase
);

パラメーター

[in] lpString1

比較する最初の文字列へのポインター。

[in] cchCount1

lpString1 で示される文字列の長さ。 文字列が null で終わる場合、アプリケーションは -1 を提供します。 この場合、関数は長さを自動的に決定します。

[in] lpString2

比較する 2 番目の文字列へのポインター。

[in] cchCount2

lpString2 で示される文字列の長さ。 文字列が null で終わる場合、アプリケーションは -1 を提供します。 この場合、関数は長さを自動的に決定します。

[in] bIgnoreCase

オペレーティング システムの大文字のテーブル情報を使用して、関数で大文字と小文字を区別しない比較を実行する場合は TRUE。 関数が渡されたとおりに文字列を比較する場合、アプリケーションはこのパラメーターを FALSE に設定します。 1 は、無効なパラメーター エラーを発生させない、このブール値パラメーターの true 値を指定するために使用できる唯一の数値であることに注意してください。 このパラメーターのブール値は、想定どおりに機能します。

戻り値

成功した場合は、次のいずれかの値を返します。 文字列を比較する C ランタイム規則を維持するために、0 以外の戻り値から値 2 を減算できます。 次に、0、==0、および 0 の <意味は C ランタイムと >一致します。

  • CSTR_LESS_THAN。 lpString1 で示される値が lpString2 で示される値より小さい。
  • CSTR_EQUAL。 lpString1 で示される値は、lpString2 で示される値と等しくなります。
  • CSTR_GREATER_THAN。 lpString1 で示される値が lpString2 で示される値より大きい。
成功しなかった場合、関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。これにより、次のいずれかのエラー コードが返されます。
  • ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。

解説

この関数は、言語的等価性ではなく、二項等価性をテストします。 序数並べ替えに関数を使用する方法については、「 アプリケーションでの並べ替えの処理」を参照してください。

言語の等価性に関係するアプリケーションでは、CompareString、CompareStringEx、lstrcmp、または lstrcmpi を使用する必要があります。 言語的な並べ替えの詳細については、「アプリケーションでの並べ替えの処理」を参照してください。

Windows 8 以降: CompareStringOrdinal は Stringapiset.h で宣言されています。 Windows 8 より前では、Winnls.h で宣言されていました。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー stringapiset.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

[CompareString]

CompareStringEx

アプリケーションでの並べ替えの処理

各国語サポート

各国語サポート関数

セキュリティに関する考慮事項: 国際的な機能

Unicode 正規化を使用して文字列を表す