Routines _ismbb

Testa il valore integer specificato c per una determinata condizione, usando le impostazioni locali correnti o una categoria di stato di conversione LC_CTYPE specificata.

_ismbbalnum, _ismbbalnum_l _ismbbkprint, _ismbbkprint_l
_ismbbalpha, _ismbbalpha_l _ismbbkpunct, _ismbbkpunct_l
_ismbbblank, _ismbbblank_l _ismbblead, _ismbblead_l
_ismbbgraph, _ismbbgraph_l _ismbbprint, _ismbbprint_l
_ismbbkalnum, _ismbbkalnum_l _ismbbpunct, _ismbbpunct_l
_ismbbkana, _ismbbkana_l _ismbbtrail, _ismbbtrail_l

Note

Ogni routine nel gruppo _ismbb testa il valore integer specificato c per una determinata condizione. Il risultato del test dipende dalla tabella codici multibyte corrente. Per impostazione predefinita, la tabella codici multibyte è impostata sulla tabella codici ANSI ottenuta dal sistema operativo all'avvio del programma. È possibile usare _getmbcp per eseguire una query per la tabella codici multibyte in uso oppure _setmbcp per modificarla.

La configurazione dell'impostazione della categoria LC_CTYPE delle impostazioni locali influisce sul valore di output. Per altre informazioni, vedere setlocale, _wsetlocale. Le versioni di queste funzioni che non hanno il suffisso _l usano le impostazioni locali correnti per il comportamento dipendente dalle impostazioni locali; le versioni che hanno il suffisso _l sono identiche, con la differenza che usano il parametro delle impostazioni locali che viene passato.

Le routine nella famiglia _ismbb testano il valore integer specificato c nel modo seguente.

Routine Condizione di test di byte
_ismbbalnum isalnum || _ismbbkalnum.
_ismbbalpha isalpha || _ismbbkalnum.
_ismbbblank isblank
_ismbbgraph Come _ismbbprint, ma _ismbbgraph non include lo spazio (0x20).
_ismbbkalnum Simbolo di testo non ASCII e non di punteggiatura. Ad esempio, solo nella tabella codici 932, _ismbbkalnum esegue il test per caratteri alfanumerici Katakana.
_ismbbkana Katakana (0xA1 - 0xDF). Specifico per la tabella codici 932.
_ismbbkprint Testo non ASCII o simbolo di punteggiatura non ASCII. Ad esempio, solo nella tabella codici 932, _ismbbkprint esegue il test per i caratteri alfanumerici o la punteggiatura Katakana (intervallo: 0xA1 - 0xDF).
_ismbbkpunct Punteggiatura non ASCII. Ad esempio, solo nella tabella codici 932, _ismbbkpunct verifica la punteggiatura Katakana.
_ismbblead Primo byte di un carattere multibyte. Ad esempio, solo nella tabella codici 932, gli intervalli validi sono compresi tra 0x81 e 0x9F e tra 0xE0 e 0xFC.
_ismbbprint isprint || _ismbbkprint. ismbbprint include lo spazio (0x20).
_ismbbpunct ispunct || _ismbbkpunct.
_ismbbtrail Secondo byte di un carattere multibyte. Ad esempio, solo nella tabella codici 932, gli intervalli validi sono compresi tra 0x40 e 0x7E e tra 0x80 e 0xEC.

La tabella seguente mostra i valori ORed che costituiscono le condizioni di test per le routine. Le costanti manifesto _BLANK, _DIGIT, _LOWER, _PUNCTe _UPPER sono definite in Ctype.h.

Routine _BLANK _DIGIT LOWER _PUNCT UPPER Testo

non

ASCII
Testo

non

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

Le routine _ismbb vengono implementate sia come funzioni che come macro. Per altre informazioni sulla scelta di un'implementazione, vedere Suggerimenti per la scelta tra funzioni e macro.

Vedere anche

Classificazione per byte
Routine is, isw
_mbbtombc, _mbbtombc_l
_mbctombb, _mbctombb_l