_mbsnbicmp
, _mbsnbicmp_l
2 つのマルチバイト文字列の n バイトを比較し、大文字/小文字を無視します。
重要
この API は、Windows ランタイムで実行するアプリケーションでは使用できません。 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。
構文
int _mbsnbicmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
パラメーター
string1
, string2
Null で終わる比較対象の文字列。
count
比較するバイト数。
戻り値
戻り値は、部分文字列間の関係を示しています。
戻り値 | 説明 |
---|---|
< 0 | string1 の部分文字列が string2 の部分文字列より小さい。 |
0 | string1 の部分文字列は string2 の部分文字列と同じ。 |
> 0 | string1 の部分文字列が string2 の部分文字列より大きい。 |
エラーが発生した場合、_mbsnbicmp
は _NLSCMPERROR
を返します。これは、String.h および Mbstring.h で定義されています。
解説
_mbsnbicmp
関数は、count
と string1
の先頭の最大 string2
バイトで序数に基づく比較を実行します。 各文字を小文字に変換することで比較を実行します。_mbsnbcmp
は _mbsnbicmp
の大文字小文字を区別するバージョンです。 count
文字を比較する前に、どちらかの文字列で終端の NULL 文字に到達すると比較は終了します。 count
文字を比較する前に、どちらかの文字列で終端の NULL 文字に到達したときに、文字列が等しい場合は短いほうの文字列が小さくなります。
_mbsnbicmp
は _mbsnbcmp
に似ていますが、文字ではなく、最大 count
バイトの文字列を比較する点が異なります。
ASCII テーブル内の 'Z' と 'a' の間に位置する 2 つの文字列 ('['、'\'、']'、'^'、'_'、'') は、大文字と小文字に応じて比較が異なります。 たとえば、2 つの文字列 "ABCDE" と "ABCD^" は、比較が小文字 ("abcde" > "abcd^") の場合は 1 つの方法を比較し、大文字の場合はもう 1 つの方法 ("ABCDE" < "ABCD^") を比較します。
_mbsnbicmp
関数は、現在使用中のマルチバイト コード ページに基づいて、マルチバイト文字列を認識します。 現在のロケール設定の影響を受けません。
string1
またはstring2
が null ポインターの場合、_mbsnbicmp
は、Parameter 検証で説明されているように無効なパラメーター ハンドラーを呼び出します。 実行の継続が許可された場合、関数は _NLSCMPERROR
を返し、errno
を EINVAL
に設定します。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
汎用テキスト ルーチンのマップ
Tchar.h のルーチン | _UNICODE と _MBCS が定義されていない |
_MBCS が定義されている |
_UNICODE が定義されている |
---|---|---|---|
_tcsnicmp |
_strnicmp |
_mbsnbicmp |
_wcsnicmp |
_tcsnicmp_l |
_strnicmp_l |
_mbsnbicmp_l |
_wcsnicmp_l |
要件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
_mbsnbicmp |
<mbstring.h> |
互換性の詳細については、「 Compatibility」を参照してください。
例
_mbsnbcmp
、_mbsnbcmp_l
の例を参照してください。
関連項目
文字列操作
_mbsnbcat
, _mbsnbcat_l
_mbsnbcmp
, _mbsnbcmp_l
_stricmp
、 _wcsicmp
、 _mbsicmp
、 _stricmp_l
、 _wcsicmp_l
、 _mbsicmp_l