Udostępnij za pośrednictwem


_ismbb Procedur

Sprawdza daną wartość c całkowitą dla określonego warunku przy użyciu bieżących ustawień regionalnych lub określonej LC_CTYPE kategorii stanu konwersji.

Uwagi

Każda rutyna w _ismbb rodzinie sprawdza daną wartość c całkowitą dla określonego warunku. Wynik testu zależy od wielobajtowej strony kodowej, która działa. Domyślnie strona kodu wielobajtowego jest ustawiona na stronę kodową ANSI uzyskaną z systemu operacyjnego podczas uruchamiania programu. Możesz użyć _getmbcp polecenia , aby wykonać zapytanie dotyczące strony kodu wielobajtowego, która jest używana, lub _setmbcp zmienić ją.

Na wartość wyjściową ma wpływ ustawienie ustawienia LC_CTYPE kategorii ustawień regionalnych. Aby uzyskać więcej informacji, zobacz setlocale, _wsetlocale. Wersje tych funkcji, które nie mają sufiksu _l , używają bieżących ustawień regionalnych dla tego zachowania zależnego od ustawień regionalnych; wersje, które mają _l sufiks, są identyczne, z tą różnicą, że zamiast tego używają parametru ustawień regionalnych, który jest przekazywany.

Procedury w _ismbb rodzinie testuje daną liczbę całkowitą c w następujący sposób.

Procedura Warunek testu bajtowego
_ismbbalnum isalnum(c) || _ismbbkalnum(c)
_ismbbalpha isalpha(c) || _ismbbkalpha(c)
_ismbbblank isblank(c)
_ismbbgraph Taki sam jak _ismbbprint, ale _ismbbgraph nie zawiera znaku spacji (0x20)
_ismbbkalnum Symbol tekstowy inny niż znak interpunkcyjny ASCII. Na przykład na stronie kodu 932 tylko _ismbbkalnum testy dla katakana alfanumeryczne
_ismbbkana Katakana (0xA1 — 0xDF). Specyficzne dla strony kodowej 932
_ismbbkprint Tekst inny niż ASCII lub symbol interpunkcyjny ASCII. Na przykład na stronie kodowej 932 tylko _ismbbkprint testy pod kątem znaków interpunkcyjnych katakana lub katakana (zakres: 0xA1 — 0xDF)
_ismbbkpunct Interpunkcja nie-ASCII. Na przykład na stronie kodowej 932 tylko _ismbbkpunct testy pod kątem interpunkcji katakana
_ismbblead Pierwszy bajt znaku wielobajtowego. Na przykład tylko na stronie kodu 932 prawidłowe zakresy są 0x81 — 0x9F, 0xE0 — 0xFC
_ismbbprint isprint(c) || _ismbbkprint(c). ismbbprint zawiera znak spacji (0x20)
_ismbbpunct ispunct(c) || _ismbbkpunct(c).
_ismbbtrail Drugi bajt znaku wielobajtowego. Na przykład tylko na stronie kodu 932 prawidłowe zakresy są 0x40 — 0x7E, 0x80 — 0xEC

W poniższej |tabeli przedstawiono wartości połączone, które tworzą warunki testu dla tych procedur. Stałe manifestu _BLANK, , _DIGIT_LOWER, _PUNCTi _UPPER są zdefiniowane w pliku ctype.h.

Procedura _BLANK _DIGIT LOWER _PUNCT UPPER Bez ASCII
text
Bez ASCII
znaki interpunkcyjne
_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

Procedury _ismbb są implementowane zarówno jako funkcje, jak i jako makra. Aby uzyskać więcej informacji na temat wybierania obu implementacji, zobacz Zalecenia dotyczące wybierania między funkcjami i makrami.

Zobacz też

Klasyfikacja bajtów
is, isw procedury
_mbbtombc, _mbbtombc_l
_mbctombb, _mbctombb_l