_ismbslead
、 _ismbstrail
、 _ismbslead_l
、 _ismbstrail_l
マルチバイト文字の文字列の先頭バイトと末尾バイトについて状況依存のテストを実行し、指定された部分文字列のポインターが先頭バイトまたは末尾バイトを指しているかどうかを判断します。
重要
この API は、Windows ランタイムで実行するアプリケーションでは使用できません。 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。
構文
int _ismbslead(
const unsigned char *str,
const unsigned char *current
);
int _ismbstrail(
const unsigned char *str,
const unsigned char *current
);
int _ismbslead_l(
const unsigned char *str,
const unsigned char *current,
_locale_t locale
);
int _ismbstrail_l(
const unsigned char *str,
const unsigned char *current,
_locale_t locale
);
パラメーター
str
文字列の先頭、または直前の既知の先頭バイトを指すポインター。
current
テストする、文字列内の位置を指すポインター。
locale
使用するロケール。
戻り値
_ismbslead
は、文字が先行バイトの場合は -1 を返し、 _ismbstrail
は文字が証跡バイトの場合は -1 を返します。 入力文字列が有効であっても、リード バイトまたはトレール バイトでない場合、これらの関数は 0 を返します。 いずれかの引数が NULL
されている場合は、「 パラメーターの検証で説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、これらの関数は NULL
を返し、errno
を EINVAL
に設定します。
解説
_ismbslead
と _ismbstrail
は、文字列のコンテキストを考慮に入れるため、_ismbblead
と _ismbbtrail
のバージョンより低速です。
これらの関数の _l
サフィックスが付いたバージョンは、ロケールに依存する動作について現在のロケールではなく渡されたロケールを使用する点を除いて、同じです。 詳細については、「 Locale」を参照してください。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
要件
ルーチンによって返される値 | 必須ヘッダー | オプション ヘッダー |
---|---|---|
_ismbslead |
<mbctype.h> または <mbstring.h> | <ctype.h>*、<limits.h>、<stdlib.h> |
_ismbstrail |
<mbctype.h> または <mbstring.h> | <ctype.h>*、<limits.h>、<stdlib.h> |
_ismbslead_l |
<mbctype.h> または <mbstring.h> | <ctype.h>*、<limits.h>、<stdlib.h> |
_ismbstrail_l |
<mbctype.h> または <mbstring.h> | <ctype.h>*、<limits.h>、<stdlib.h> |
* テスト条件のマニフェスト定数の場合。
互換性の詳細については、「 Compatibility」を参照してください。