_mbbtype
, _mbbtype_l
前のバイトに基づいて、バイトの種類を返します。
重要
この API は、Windows ランタイムで実行するアプリケーションでは使用できません。 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。
構文
int _mbbtype(
unsigned char c,
int type
);
int _mbbtype_l(
unsigned char c,
int type,
_locale_t locale
);
パラメーター
c
テスト対象の文字。
type
テストするバイトの種類。
locale
使用するロケール。
戻り値
_mbbtype
は、文字列内のバイトの種類を返します。 この判断は、テスト条件を制御する type
の値で指定されるとおり、状況に応じて異なります。 type
は、文字列内の前のバイトの種類です。 次の表のマニフェスト定数は、Mbctype.h で定義されています。
type の値 |
_mbbtype によるテスト対象 |
戻り値 | c |
---|---|---|---|
1 以外の値 | 有効な 1 バイトまたは先頭バイト | _MBC_SINGLE (0) |
1 バイト (0x20 - 0x7E、0xA1 - 0xDF) |
1 以外の値 | 有効な 1 バイトまたは先頭バイト | _MBC_LEAD (1) |
マルチバイト文字の先行バイト (0x81 - 0x9F、0xE0 - 0xFC) |
1 以外の値 | 有効な 1 バイトまたは先頭バイト | _MBC_ILLEGAL (-1) |
無効な文字: 単一文字または潜在顧客ではない (0x00 - 0x1F、0x7F、0x80、0xA0、0xFD、0xFE、0xFF) |
1 | 有効な末尾バイト | _MBC_TRAIL (2) |
マルチバイト文字の後続バイト (0x40 - 0x7E、0x80 - 0xFC) |
1 | 有効な末尾バイト | _MBC_ILLEGAL (-1) |
無効な文字: 末尾ではない (0x00 - 0x3F、0x7F、0xFD、0xFE、0xFF) |
解説
_mbbtype
関数は、マルチバイト文字内のバイトの種類を判断します。 type
の値が 1 以外の場合、_mbbtype
は、有効な 1 バイト文字、またはマルチバイト文字の先頭バイトであるかどうかをテストします。 type
の値が 1 の場合、_mbbtype
は、マルチバイト文字の有効な末尾バイトであるかどうかをテストします。
出力値は、ロケールの LC_CTYPE
カテゴリ設定の設定によって影響を受けます。 詳細については、「 setlocale
」と「 _wsetlocale
の両方を管理できます。 この関数の _mbbtype
バージョンでは、このロケールに依存する動作に現在のロケールが使用されます。 _mbbtype_l
バージョンは、代わりに渡されるロケール パラメーターを使用する点が異なります。 詳細については、「 Locale」を参照してください。
以前のバージョンでは、_mbbtype
は chkctype
という名前でした。 新しいコードでは、_mbbtype
を使用してください。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
要件
ルーチンによって返される値 | 必須ヘッダー | オプション ヘッダー |
---|---|---|
_mbbtype |
<mbstring.h> | <mbctype.h>* |
_mbbtype_l |
<mbstring.h> | <mbctype.h>* |
* 戻り値として使用されるマニフェスト定数の定義。
互換性の詳細については、「 Compatibility」を参照してください。