_ismbslead、_ismbstrail、_ismbslead_l、_ismbstrail_l
更新 : 2007 年 11 月
マルチバイト文字列の先行バイトと後続バイトを調べて、指定された部分文字列へのポインタが先行バイトまたは後続バイトを指すかどうかを判定します。
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 サフィックスが付けられたバージョンは、現在のロケールの代わりに渡されたロケールを使用してロケール依存の動作を行うという点を除いて同じです。詳細については、「ロケール」を参照してください。
必要条件
ルーチン |
必須ヘッダー |
オプション ヘッダー |
---|---|---|
_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> |
* テスト条件用の記号定数の場合
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
.NET Framework の相当するアイテム
適用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。