strnicmp() — 大/小文字の区別をしないサブストリングの比較
フォーマット
#include <string.h>
int strnicmp(const char *string1, const char *string2, int n);
注: strnset 関数と strset 関数は、
C++ プログラムで使用可能です。__cplusplus__strings__ マクロがプログラムで定義されている場合にのみ、C でも使用できます。
言語レベル
Extension
スレッド・セーフ
はい
ロケール依存
この関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。詳細については、CCSID およびロケールの理解を参照してください。
説明
strnicmp 関数は、string1 と string2 の最初の最大 n 文字を大/小文字の区別なしで比較します。
この関数は、ヌル終了ストリング上で作動します。関数のストリング引数には、ストリングの終わりを示すマークであるヌル文字 (\0) が含まれると想定されます。
戻り値
strnicmp() 関数は、サブストリング間の関係を示す次のような値を戻します。
値 | 意味 |
---|---|
0 より小さい値 | string1 は string2 より小さい |
0 | string1 は string2 と等しい |
0 より大きい値 | string1 は string2 より大きい |
例
この例では、strnicmp() を使用して、2 つのストリングを比較します。
#include <stdio.h>
#include <string.h>
int main(void)
{
char *str1 = "THIS IS THE FIRST STRING";
char *str2 = "This is the second string";
int numresult;
/* Compare the first 11 characters of str1 and str2
without regard to case */
numresult = strnicmp(str1, str2, 11);
if (numresult < 0)
printf("String 1 is less than string2.\n");
else
if (numresult > 0)
printf("String 1 is greater than string2.\n");
else
printf("The two strings are equivalent.\n");
return 0;
}
The output should be:
The two strings are equivalent.