_ismbb ルーチン

現在のロケールまたは指定されたc変換状態カテゴリを使用して、特定の条件に対して指定された整数値LC_CTYPEをテストします。

解説

_ismbb ファミリのすべてのルーチンは、特定の条件に対して整数値 c をテストします。 テスト結果は、有効なマルチバイト コード ページによって異なります。 既定では、マルチバイト コード ページは、プログラムの開始時にオペレーティング システムから取得した ANSI コード ページに設定されます。 _getmbcpを使用して、使用中のマルチバイト コード ページを照会したり、変更_setmbcpしたりできます。

出力値は、ロケールの LC_CTYPE カテゴリ設定の設定の影響を受けます。詳細については、「 setlocale、 _wsetlocale」を参照してください。 _lサフィックスを持たないこれらの関数のバージョンでは、このロケールに依存する動作に現在のロケールが使用されます。_l サフィックスを持つバージョンは、代わりに渡されたロケール パラメーターを使用する点を除いて同じです。

_ismbb ファミリのルーチンは、特定の整数 c を次のようにテストします。

ルーチンによって返される値 バイト テスト条件
_ismbbalnum isalnum(c) || _ismbbkalnum(c)
_ismbbalpha isalpha(c) || _ismbbkalpha(c)
_ismbbblank isblank(c)
_ismbbgraph _ismbbprintと同じですが、_ismbbgraphにはスペース文字は含まれません (0x20)
_ismbbkalnum 区切り記号以外の非 ASCII テキストの記号。 たとえば、コード ページ 932 でのみ _ismbbkalnum は、カタカナ英数字をテストします
_ismbbkana カタカナ (0xA1 - 0xDF)。 コード ページ 932 に固有
_ismbbkprint 非 ASCII テキストまたは ASCII 以外の区切り記号。 たとえば、コード ページ 932 でのみ、カタカナ英数字またはカタカナ句読点のテストを _ismbbkprint します (範囲: 0xA1 - 0xDF)
_ismbbkpunct ASCII 以外の区切り記号。 たとえば、コード ページ 932 でのみ、カタカナ句読点のテストを_ismbbkpunct
_ismbblead マルチバイト文字の最初のバイト。 たとえば、コード ページ 932 でのみ、有効な範囲は 0x81 - 0x9F、0xE0 - 0xFC
_ismbbprint isprint(c) || _ismbbkprint(c)。 ismbbprint には、空白文字 (0x20) が含まれます
_ismbbpunct ispunct(c) || _ismbbkpunct(c)。
_ismbbtrail マルチバイト文字の 2 番目のバイト。 たとえば、コード ページ 932 でのみ、有効な範囲は 0x40 - 0x7E、0x80 - 0xEC

次の表に、これらのルーチンのテスト条件を構成する |結合値を示します。 マニフェスト定数 _BLANK、 _DIGIT、 _LOWER、 _PUNCT、および _UPPER は、 ctype.hで定義されます。

ルーチンによって返される値 _BLANK _DIGIT LOWER _PUNCT UPPER ASCII 以外
SMS 送信
ASCII 以外
句読点
_ismbbalnum — x x — x x —
_ismbbalpha — — x — x x —
_ismbbblank x — — — — — —
_ismbbgraph — x x x x x x
_ismbbkalnum — — — — — x —
_ismbbkprint — — — — — x x
_ismbbkpunct — — — — — — x
_ismbbprint x x x x x x x
_ismbbpunct — — — x — — x

_ismbb ルーチンは、関数とマクロの両方として実装されます。 いずれかの実装を選択する方法の詳細については、「 関数とマクロの選択に関する推奨事項を参照してください。

関連項目

バイト分類
is、isw ルーチン
_mbbtombc, _mbbtombc_l
_mbctombb, _mbctombb_l