stricmp、_mbsicmp、_wcsicmp

提供: RAD Studio
移動先: 案内検索

String.h:インデックス への移動


ヘッダー ファイル

string.h, mbstring.h

カテゴリ

メモリおよび文字列操作ルーチン

プロトタイプ

<span class="codeInline">int stricmp(const char *s1, const char *s2);</span>
<span class="codeInline">int _wcsicmp(const wchar_t *s1, const wchar_t *s2);</span>
<span class="codeInline">int _mbsicmp(const unsigned char *s1, const unsigned char *s2);</span>

説明

ある文字列と別の文字列を、大文字小文字の区別なしで比較します。

stricmp は、s1 と s2 の符号なし比較を実行します。各文字列の最初の文字から開始し、次の文字へと、次の状態になるまで継続します:

  • 対応する文字が異なった
  • または、文字列の最後まで到達した

比較では、大文字小文字を区別しません。stricmp は、s1(またはその一部)を s2(またはその一部)と比較した結果に基づいて、値(< 0、0、または > 0)を返します。

ルーチン stricmpstrcmpi は同じです。strcmpi は、strcmpi から stricmp への呼び出しを変換する string.h 内のマクロを介して実装されています。このため、stricmp を使用するには、そのマクロを利用可能にするために、ヘッダー ファイル string.h をインクルードする必要があります。

メモ: RAD Studio では、関数は文字列を比較のために大文字に変換します。これは、他の実装、特に比較のために小文字にする Visual C++ とは異なります。

戻り値

s2 より小さい

< 0

s2 と同じ

== 0

s2 より大きい

> 0

 
#include <string.h>
#include <stdio.h>
int main(void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr;
ptr = stricmp(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
if (ptr < 0)
printf("buffer 2 is less than buffer 1\n");
if (ptr == 0)
printf("buffer 2 equals buffer 1\n");
return 0;
}

移植性

POSIX Win32 ANSI C ANSI C++

stricmp

+

+

+

_mbsicmp

+

_wcsicmp

+