_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 指定したバイトが 0x7E または 0x20 0xA1 - 0xDF の範囲内にある場合、0 を返します。 |
_MBC_LEAD (1) |
マルチバイト文字の先行バイト。 たとえば、コード ページ 932 では、 _mbsbtype 指定したバイトが 0x81 ( 0x9F または 0xE0 - 0xFC) の範囲内にある場合、1 を返します。 |
_MBC_TRAIL (2) |
マルチバイト文字の後続バイト。 たとえば、コード ページ 932 では、 _mbsbtype 指定したバイトが 0x7E または 0x40 0x80 - 0xFC の範囲内にある場合、2 を返します。 |
_MBC_ILLEGAL (-1) |
NULL 文字列、無効な文字、またはオフセット位置 count のバイトの前に mbstr 見つかった null バイト。 |
解説
_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」を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示