Zeichenklassifizierung

Jede dieser Routinen testet zum Erfüllen einer Bedingung ein angegebenes Einzelbytezeichen, ein Breitzeichen oder ein Multibytezeichen. (Der ASCII-Zeichensatz zwischen 0 und 127 ist eine Teilmenge aller Multibyte-Zeichensätze. Beispielsweise enthält japanische Katakana sowohl ASCII- als auch Nicht-ASCII-Zeichen.)

Die Testbedingungen werden durch die Einstellung der LC_CTYPE Kategorieeinstellung des Gebietsschemas beeinflusst. Weitere Informationen finden Sie unter setlocale. Die Versionen dieser Funktionen ohne das _l-Suffix verwenden das aktuelle Gebietsschema für dieses vom Gebietsschema abhängige Verhalten; die Versionen mit dem _l-Suffix sind beinahe identisch, verwenden jedoch stattdessen den ihnen übergebenen Gebietsschemaparameter.

Im Allgemeinen sind diese Routinen schneller als von Ihnen erstellte Tests und sollten daher bevorzugt werden. Beispielsweise wird der folgende Code langsamer ausgeführt als ein Aufruf von isalpha(c):

if ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z'))
    return TRUE;

Charakterklassifizierungsroutinen

Routine Zeichentestbedingung
isalnum, iswalnum, , _iswalnum_l_isalnum_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, , , _ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Alphanumerisch
_ismbcalnum, , _ismbcalnum_l_ismbcalpha, _ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Multibyte alphanumerisch
isalpha, iswalpha, , _iswalpha_l_isalpha_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, , , _ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Alphabetisch
isascii, __isasciiiswascii ASCII
isblank, , iswblank_isblank_l, _iswblank_l, , _ismbcsblank_ismbcsblank_l Leerzeichen (Leerzeichen oder horizontaler Tabulator)
iscntrl, , iswcntrl_iscntrl_l_iswcntrl_l Control
iscsym, iscsymf, , __iswcsym__iscsym, __iscsymf, __iswcsymf, _iscsym_l, , , _iswcsym_l, , _iscsymf_l_iswcsymf_l Buchstabe, Unterstrich oder Ziffer
iscsym, iscsymf, , __iswcsym__iscsym, __iscsymf, __iswcsymf, _iscsym_l, , , _iswcsym_l, , _iscsymf_l_iswcsymf_l Buchstabe oder Unterstrich
isdigit, iswdigit, , _iswdigit_l_isdigit_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, , , _ismbcalpha_l, , _ismbcdigit_ismbcdigit_l Dezimalzahl
isgraph, iswgraph, , _isgraph_l, _iswgraph_l, _ismbcgraph_l_ismbcprint_ismbcprint_l_ismbcgraph, , , _ismbcpunct_l_ismbcblank_ismbcblank_l_ismbcspace_ismbcpunct_ismbcspace_l Druckbar mit Ausnahme von Leerzeichen
islower, , iswlower_islower_l, _iswlower_l, _ismbclower, _ismbclower_l, , _ismbcupper_ismbcupper_l Kleinbuchstaben
_ismbchira, , _ismbchira_l_ismbckata_ismbckata_l Hiragana
_ismbchira, , _ismbchira_l_ismbckata_ismbckata_l Katakana
_ismbclegal, , _ismbclegal_l_ismbcsymbol_ismbcsymbol_l Gültiges Multibytezeichen
_ismbcl0, , _ismbcl0_l_ismbcl1, _ismbcl1_l, , _ismbcl2_ismbcl2_l Multibytezeichen von Japan-Level 0
_ismbcl0, , _ismbcl0_l_ismbcl1, _ismbcl1_l, , _ismbcl2_ismbcl2_l Multibytezeichen von Japan-Level 1
_ismbcl0, , _ismbcl0_l_ismbcl1, _ismbcl1_l, , _ismbcl2_ismbcl2_l Multibytezeichen von Japan-Level 2
_ismbclegal, , _ismbclegal_l_ismbcsymbol_ismbcsymbol_l Nicht alphanumerisches Multibytezeichen
isprint, iswprint, , _isprint_l, _iswprint_l, _ismbcgraph_l_ismbcprint_ismbcprint_l_ismbcgraph, , , _ismbcpunct_l_ismbcblank_ismbcblank_l_ismbcspace_ismbcpunct_ismbcspace_l Druckbar
ispunct, iswpunct, , _ispunct_l, _iswpunct_l, _ismbcgraph_l_ismbcprint_ismbcprint_l_ismbcgraph, , , _ismbcpunct_l_ismbcblank_ismbcblank_l_ismbcspace_ismbcpunct_ismbcspace_l Interpunktion
isspace, iswspace, , _isspace_l, _iswspace_l, _ismbcgraph_l_ismbcprint_ismbcprint_l_ismbcgraph, , , _ismbcpunct_l_ismbcblank_ismbcblank_l_ismbcspace_ismbcpunct_ismbcspace_l Leerzeichen
isupper, , _ismbcloweriswupper, _ismbclower_l, , _ismbcupper_ismbcupper_l Großbuchstaben
_isctype, , iswctype_isctype_l_iswctype_l Vom desc-Argument angegebene Eigenschaft
isxdigit, , iswxdigit_isxdigit_l_iswxdigit_l Hexadezimalzahl
_mbclen, mblen_mblen_l Rückgabelänge des gültigen Multibytezeichens; Ergebnis hängt von der LC_CTYPE-Kategorieneinstellung des aktuellen Gebietsschemas ab

Siehe auch

Universelle C-Laufzeitroutinen nach Kategorie