_mbsbtype
, _mbsbtype_l
文字列内のバイトの種類を返します。
重要
この API は、Windows ランタイムで実行するアプリケーションでは使用できません。 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。
構文
int _mbsbtype(
const unsigned char *mbstr,
size_t count
);
int _mbsbtype_l(
const unsigned char *mbstr,
size_t count,
_locale_t locale
);
パラメーター
mbstr
マルチバイト文字のシーケンスのアドレス。
count
文字列の先頭からのバイト オフセット。
locale
使用するロケール。
戻り値
_mbsbtype
_mbsbtype_l
は、指定したバイトのテストの結果を示す整数値を返します。 次の表のマニフェスト定数は、Mbctype.h で定義されています。
戻り値 | バイトの種類 |
---|---|
_MBC_SINGLE (0) |
1 バイト文字。 たとえば、コード ページ 932 では、 _mbsbtype は、指定したバイトが 0x20 0x20 (0x7E または 0xA1 - 0xDF) の範囲内にある場合、0 を返します。 |
_MBC_LEAD (1) |
マルチバイト文字の先行バイト。 たとえば、コード ページ 932 では、指定したバイトが 0x9F または 0xE0 - 0x81 0xFC の範囲内にある場合、 _mbsbtype は 1 を返します。 |
_MBC_TRAIL (2) |
マルチバイト文字の後続バイト。 たとえば、コード ページ 932 では、指定したバイトが 0x40 ( 0x7E または 0x80 - 0xFC) の範囲内にある場合、 _mbsbtype は 2 を返します。 |
_MBC_ILLEGAL (-1) |
NULL 文字列、無効な文字、または null バイトが、mbstr のオフセット count のバイトの前に見つかりました。 |
解説
_mbsbtype
関数は、マルチバイト文字列のバイトの種類を判断します。 この関数は、count
のオフセット mbstr
の位置にあるバイトだけを調べます。指定されたバイトの前にある無効な文字は無視します。
出力値は、ロケールの LC_CTYPE
カテゴリ設定の設定によって影響を受けます。 詳細については、setlocale
を参照してください。 _l
サフィックスが付いていないこの関数のバージョンでは、このロケールに依存する動作に現在のロケールを使用します。_l
サフィックスが付いているバージョンは、渡されたロケール パラメーターを代わりに使用する点を除いて同じです。 詳細については、「 Locale」を参照してください。
入力文字列が NULL
されている場合は、「パラメーターの検証 で説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、 errno
が EINVAL
に設定され、関数が _MBC_ILLEGAL
のセキュリティが強化されたバージョンです。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
要件
ルーチンによって返される値 | 必須ヘッダー | オプション ヘッダー |
---|---|---|
_mbsbtype |
<mbstring.h> | <mbctype.h>* |
_mbsbtype_l |
<mbstring.h> | <mbctype.h>* |
* 戻り値として使用されるマニフェスト定数の場合。
互換性の詳細については、「 Compatibility」を参照してください。