strncmpi,wcsncmpi
string.h:インデックス への移動
ヘッダーファイル
string.h
カテゴリ
メモリと文字列の操作ルーチン
プロトタイプ
int strncmpi(const char *s1, const char *s2, size_t n);
int wcsncmpi(const wchar_t *s1, const wchar_t *s2, size_t n);
説明
大文字と小文字を区別しないで,文字列の一部を別の文字列の一部と比較します。
strncmpi は,s1 と s2 の符号付きの比較を最大 n バイトまで実行します。これは,両方の文字列内の文字を先頭から順番に 1 文字ずつ比較し,対応する文字が異なっているか n 文字を調べ終わるまで比較を続けます。比較では,大文字と小文字が区別されません。strncmpi は strnicmp(マクロとして実装)と同じです。strcmpi は,s1(またはその一部)と s2(またはその一部)を比較した結果に基づいて,値(< 0,0,または > 0)を返します。
strnicmp と strncmpi は同じルーチンです。strcmpi は,strcmpi の呼び出しを stricmp に変換するマクロとして string.h で実装されています。したがって,strncmpi を使用するには,ヘッダーファイル string.h をインクルードして,このマクロを使用できるようにする必要があります。このマクロは,ほかの C コンパイラと互換性があります。
戻り値
s2 より小さい |
< 0 |
s2 と同じ |
== 0 |
s2 より大きい |
> 0 |
例
#include <string.h>
#include <stdio.h>
int main(void)
{
char *buf1 = "BBBccc", *buf2 = "bbbccc";
int ptr;
ptr = strncmpi(buf2,buf1,3);
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++ | |
---|---|---|---|---|
strncmpi |
+ |
|||
wcsncmpi |
+ |