__wcsnicmp() — 大/小文字の区別をしないワイド文字ストリングの比較
形式
#include <wchar.h>;
int __wcsnicmp(const wchar_t *string1, const wchar_t *string2, size_t count);言語レベル
拡張機能
スレッド・セーフ
はい
ロケール依存
コンパイル・コマンドで LOCALETYPE(*LOCALE) が指定される場合、この関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。 また、コンパイル・コマンドで LOCALETYPE(*LOCALEUCS2) または LOCALETYPE(*LOCALEUTF) が指定される場合、この関数の振る舞いは、 現行ロケールの LC_UNI_CTYPE カテゴリーの影響も受ける可能性があります。 この関数は、コンパイル・コマンドに対して LOCALETYPE(*CLD) が指定されている場合には使用できません。 詳しくは、 CCSID とロケールについてを参照してください。
ワイド文字関数
詳しくは、 ワイド文字 を参照してください。
説明
__wcsnicmp() 関数は、string1 と string2 の最大 count 文字数を大/小文字の区別なしで比較します。 string1 と string2 のすべての英字ワイド文字は、比較の前に小文字に変換されます。
__wcsnicmp() 関数は、ヌル終了ワイド文字ストリング上で作動します。 関数のストリング引数には、ストリングの終わりを示す wchar_t ヌル文字 (L'\0') が含まれている必要があります。
戻り値
__wcsnicmp() 関数は、2 つのストリング間の関係を示す次のような値を
戻します。
| 値 | 意味 |
|---|---|
| 0 より小さい値 | string1 は string2 より小さい |
| 0 | string1 は string2 と等しい |
| 0 より大きい | string1 は string2 より大きい |
例
この例では
__wcsnicmp() を使用して、2 つのワイド文字ストリングを
比較します。#include <stdio.h>
#include <wchar.h>
int main(void)
{
wchar_t *str1 = L"STRING ONE";
wchar_t *str2 = L"string TWO";
int result;
result = __wcsnicmp(str1, str2, 6);
if (result == 0)
printf("Strings compared equal.\n");
else if (result < 0)
printf("\"%ls\" is less than \"%ls\".\n", str1, str2);
else
printf("\"%ls\" is greater than \"%ls\".\n", str1, str2);
return 0;
}
/******** The output should be similar to: ***************
Strings compared equal.
***********************************/