次の方法で共有


_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」を参照してください。

以前のバージョンでは、_mbbtypechkctype という名前でした。 新しいコードでは、_mbbtype を使用してください。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

要件

ルーチンによって返される値 必須ヘッダー オプション ヘッダー
_mbbtype <mbstring.h> <mbctype.h>*
_mbbtype_l <mbstring.h> <mbctype.h>*

* 戻り値として使用されるマニフェスト定数の定義。

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

バイト分類