strcmpi() — 大/小文字を区別しないストリングの比較

フォーマット

#include <string.h>
int strcmpi(const char *string1, const char *string2);
注: strcmpi 関数は、C++ プログラムで使用可能です。 __cplusplus__strings__ マクロがプログラムで定義されている場合にのみ、C でも使用できます。

言語レベル

Extension

スレッド・セーフ

はい

ロケール依存

この関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。詳細については、CCSID およびロケールの理解を参照してください。

説明

strcmpi は、大/小文字を区別せずに string1string2 を比較します。 2 つの引数 string1string2 内のすべての英字は、比較の前に小文字に変換されます。

この関数は、ヌル終了ストリング上で作動します。 関数のストリング引数には、ストリングの終わりを示すマークであるヌル文字 (\0) が含まれると想定されます。

戻り値

strcmpi は、2 つのストリング間の関係を示す次のような値を戻します。
意味
0 より小さい値 string1string2 より小さい
0 string1string2 と等しい
0 より大きい値 string1string2 より大きい

この例では、strcmpi を使用して 2 つのストリングを比較します。
#include <stdio.h>
#include <string.h>
int main(void)
{
   /* Compare two strings without regard to case                              */
   if (0 == strcmpi("hello", "HELLO"))
      printf("The strings are equivalent.\n");
   else
      printf("The strings are not equivalent.\n");
   return 0;
}
The output should be:
      The strings are equivalent.