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 で示される値より大きい。
- 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 |