Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
isalnum, , iswalnum_isalnum_l_iswalnum_l
isalpha, , iswalpha_isalpha_l_iswalpha_l
isascii, __isasciiiswascii
isblank, , iswblank_isblank_l_iswblank_l
iscntrl, , iswcntrl_iscntrl_l_iswcntrl_l
iscsym, iscsymf, , __iswcsym__iscsym, __iscsymf, __iswcsymf, _iscsym_l, , , _iswcsym_l, , _iscsymf_l_iswcsymf_l
_isctype, , iswctype_isctype_l_iswctype_l
isdigit, , iswdigit_isdigit_l, _iswdigit_lisgraph, iswgraph, , _isgraph_l_iswgraph_l
isleadbyte, _isleadbyte_l
islower, , iswlower_islower_l_iswlower_l
isprint, , iswprint_isprint_l_iswprint_l
ispunct, , iswpunct_ispunct_l_iswpunct_l
isspace, , iswspace_isspace_l_iswspace_l
isupper, , _isupper_liswupper_iswupper_l
isxdigit, , iswxdigit_isxdigit_l_iswxdigit_l
Hinweise
Diese Routinen überprüfen Zeichen für bestimmte Bedingungen.
Die is Routinen erzeugen aussagekräftige Ergebnisse für ein beliebiges ganzzahliges Argument von -1 (EOF) bis UCHAR_MAX (0xFF), einschließlich. Der erwartete Argumenttyp ist int.
Achtung
Für die is Routinen kann das Übergeben eines Arguments vom Typ char unvorhersehbare Ergebnisse liefern. Ein SBCS- oder MBCS-Einzelbytezeichen vom Typ char mit einem Wert größer als 0x7F ist negativ. Wenn ein char Wert übergeben wird, kann der Compiler den Wert in ein signed int oder ein .signed long Wenn der Compiler diesen Wert mit einem Vorzeichen versieht, kann dies zu unerwarteten Ergebnissen führen.
Die isw Routinen erzeugen aussagekräftige Ergebnisse für einen ganzzahligen Wert von -1 (WEOF) bis 0xFFFF einschließlich. Der wint_t Datentyp wird als <WCHAR.H> ein unsigned short. Sie kann ein beliebiges breites Zeichen oder den End-of-File-Wert (WEOFBreitzeichen) enthalten.
Der Ausgabewert wird 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 Gebietsschema "C" sind die Testbedingungen für die is Routinen wie folgt:
isalnum
Alphanumerisch (A-Z, a-z oder 0-9)
isalpha
Alphabetisch (A-Z oder a-z)
__isascii
Ein ASCII-Zeichen (0x00-0x7F)
isblank
Horizontaler Tabulator oder Leerzeichen (0x09 oder 0x20).
iscntrl
Ein Steuerzeichen (0x00-0x1F oder 0x7F)
__iscsym
Buchstabe, Unterstrich oder Ziffer.
__iscsymf
Buchstabe oder Unterstrich.
isdigit
Eine Dezimalstelle (0-9)
isgraph
Druckbares Zeichen mit Ausnahme von Leerzeichen (0x20).
islower
Ein Kleinbuchstabe (a-z)
isprint
Ein druckbares Zeichen einschließlich Leerzeichen (0x20-0x7E)
ispunct
Interpunktionszeichen.
isspace
Ein Leerzeichen (0x09-0x0D oder 0x20)
isupper
Ein Großbuchstabe (A-Z)
isxdigit
Eine Hexadezimalziffer (A-F, a-f oder 0-9)
Für die isw Routinen ist das Ergebnis des Tests für die angegebene Bedingung unabhängig vom Gebietsschema. Die Testbedingungen für die isw Funktionen sind wie folgt:
iswalnum
iswalpha oder iswdigit
iswalpha
Beliebiges Breitzeichen, das einen von der Implementierung abhängigen Satz darstellt, für den iswcntrl, iswdigit, iswpunct oder iswspace nicht 0 sind. iswalpha liefert einen Rückgabewert ungleich 0 (null) nur für Breitzeichen, für die iswupper oder iswlower ungleich 0 (null) ist.
iswascii
Eine Breitzeichendarstellung von ASCII-Zeichen (0x0000 - 0x007F)
iswblank
Breitzeichen, das dem Standardleerzeichen entspricht oder ein von der Implementierung abhängiger Breitzeichensatz, für den iswalnum "false" ist. Leere Standardzeichen sind Leerzeichen (L' ') und horizontale Tabstopps (L'\t').
iswcntrl
Steuerbreitzeichen.
__iswcsym
Beliebiges Breitzeichen, für das isalnum "true" ist oder das '_'-Zeichen.
__iswcsymf
Beliebiges Breitzeichen, für das iswalpha "true" ist oder das '_'-Zeichen.
iswctype
Das Zeichen hat die Eigenschaft, die vom desc-Argument angegeben wird. Für jeden gültigen Wert des desc Arguments von iswctype, gibt es eine entsprechende Breitzeichenklassifizierungsroutine, wie in der folgenden Tabelle gezeigt:
Äquivalenz von iswctype(c, desc) anderen isw Testroutinen
Wert des desc Arguments |
Äquivalent in iswctype(c, desc) |
|---|---|
_ALPHA |
iswalpha(c) |
_ALPHA | _DIGIT |
iswalnum(c) |
_BLANK |
iswblank(c) |
_CONTROL |
iswcntrl(c) |
_DIGIT |
iswdigit(c) |
_ALPHA | _DIGIT | _PUNCT |
iswgraph(c) |
_LOWER |
iswlower(c) |
_ALPHA | _BLANK | _DIGIT | _PUNCT |
iswprint(c) |
_PUNCT |
iswpunct(c) |
_BLANK |
iswblank(c) |
_SPACE |
iswspace(c) |
_UPPER |
iswupper(c) |
_HEX |
iswxdigit(c) |
iswdigit
Breitzeichen, das einem Dezimalstellenzeichen entspricht.
iswgraph
Druckbares breites Zeichen mit Ausnahme des Leerzeichens (L' ').
iswlower
Kleinbuchstabe oder ein von der Implementierung abhängiger Breitzeichensatz für den iswcntrl, iswdigit, iswpunct oder iswspace nicht 0 sind. iswlower gibt einen Wert ungleich 0 (null) nur für Breitzeichen zurück, die den Kleinbuchstaben entsprechen.
iswprint
Druckbares breites Zeichen, einschließlich Leerzeichen (L' ').
iswpunct
Druckbares breites Zeichen, bei dem es sich nicht um ein leerzeichenweites Zeichen (L' ') und nicht um ein breites Zeichen handelt, für das iswalnum es sich nicht um ein zeichenfreies Zeichen handelt.
iswspace
Breitzeichen, das dem Standardleerzeichen entspricht oder ein von der Implementierung abhängiger Breitzeichensatz ist, für den iswalnum "false" ist. Standardzeichen für Leerzeichen sind: Leerzeichen (L' '), Formularfeed (L'\f'), Zeilenumbruch (L'\n'), Wagenrücklauf (L'\r'), horizontale Registerkarte (L'\t') und vertikale Registerkarte (L'\v').
iswupper
Ein Breitzeichen ist ein Großbuchstabe oder ein von der Implementierung abhängiger Breitzeichensatz, für den iswcntrl, iswdigit, iswpunct oder iswspace nicht 0 sind. iswupper gibt einen Rückgabewert ungleich 0 (null) nur für Breitzeichen zurück, die den Großbuchstaben entsprechen.
iswxdigit
Breitzeichen, das einem Hexadezimalziffernzeichen entspricht.
Beispiel
// crt_isfam.c
/* This program tests all characters between 0x0
* and 0x7F, then displays each character with abbreviations
* for the character-type codes that apply.
*/
#include <stdio.h>
#include <ctype.h>
int main( void )
{
int ch;
for( ch = 0; ch <= 0x7F; ch++ )
{
printf( "%.2x ", ch );
printf( " %c", isprint( ch ) ? ch : ' ' );
printf( "%4s", isalnum( ch ) ? "AN" : "" );
printf( "%3s", isalpha( ch ) ? "A" : "" );
printf( "%3s", __isascii( ch ) ? "AS" : "" );
printf( "%3s", iscntrl( ch ) ? "C" : "" );
printf( "%3s", __iscsym( ch ) ? "CS " : "" );
printf( "%3s", __iscsymf( ch ) ? "CSF" : "" );
printf( "%3s", isdigit( ch ) ? "D" : "" );
printf( "%3s", isgraph( ch ) ? "G" : "" );
printf( "%3s", islower( ch ) ? "L" : "" );
printf( "%3s", ispunct( ch ) ? "PU" : "" );
printf( "%3s", isspace( ch ) ? "S" : "" );
printf( "%3s", isprint( ch ) ? "PR" : "" );
printf( "%3s", isupper( ch ) ? "U" : "" );
printf( "%3s", isxdigit( ch ) ? "X" : "" );
printf( ".\n" );
}
}
Output
00 AS C .
01 AS C .
02 AS C .
03 AS C .
04 AS C .
05 AS C .
06 AS C .
07 AS C .
08 AS C .
09 AS C S .
0a AS C S .
0b AS C S .
0c AS C S .
0d AS C S .
0e AS C .
0f AS C .
10 AS C .
11 AS C .
12 AS C .
13 AS C .
14 AS C .
15 AS C .
16 AS C .
17 AS C .
18 AS C .
19 AS C .
1a AS C .
1b AS C .
1c AS C .
1d AS C .
1e AS C .
1f AS C .
20 AS S PR .
21 ! AS G PU PR .
22 " AS G PU PR .
23 # AS G PU PR .
24 $ AS G PU PR .
25 % AS G PU PR .
26 & AS G PU PR .
27 ' AS G PU PR .
28 ( AS G PU PR .
29 ) AS G PU PR .
2a * AS G PU PR .
2b + AS G PU PR .
2c , AS G PU PR .
2d - AS G PU PR .
2e . AS G PU PR .
2f / AS G PU PR .
30 0 AN AS CS D G PR X.
31 1 AN AS CS D G PR X.
32 2 AN AS CS D G PR X.
33 3 AN AS CS D G PR X.
34 4 AN AS CS D G PR X.
35 5 AN AS CS D G PR X.
36 6 AN AS CS D G PR X.
37 7 AN AS CS D G PR X.
38 8 AN AS CS D G PR X.
39 9 AN AS CS D G PR X.
3a : AS G PU PR .
3b ; AS G PU PR .
3c < AS G PU PR .
3d = AS G PU PR .
3e > AS G PU PR .
3f ? AS G PU PR .
40 @ AS G PU PR .
41 A AN A AS CS CSF G PR U X.
42 B AN A AS CS CSF G PR U X.
43 C AN A AS CS CSF G PR U X.
44 D AN A AS CS CSF G PR U X.
45 E AN A AS CS CSF G PR U X.
46 F AN A AS CS CSF G PR U X.
47 G AN A AS CS CSF G PR U .
48 H AN A AS CS CSF G PR U .
49 I AN A AS CS CSF G PR U .
4a J AN A AS CS CSF G PR U .
4b K AN A AS CS CSF G PR U .
4c L AN A AS CS CSF G PR U .
4d M AN A AS CS CSF G PR U .
4e N AN A AS CS CSF G PR U .
4f O AN A AS CS CSF G PR U .
50 P AN A AS CS CSF G PR U .
51 Q AN A AS CS CSF G PR U .
52 R AN A AS CS CSF G PR U .
53 S AN A AS CS CSF G PR U .
54 T AN A AS CS CSF G PR U .
55 U AN A AS CS CSF G PR U .
56 V AN A AS CS CSF G PR U .
57 W AN A AS CS CSF G PR U .
58 X AN A AS CS CSF G PR U .
59 Y AN A AS CS CSF G PR U .
5a Z AN A AS CS CSF G PR U .
5b [ AS G PU PR .
5c \ AS G PU PR .
5d ] AS G PU PR .
5e ^ AS G PU PR .
5f _ AS CS CSF G PU PR .
60 ` AS G PU PR .
61 a AN A AS CS CSF G L PR X.
62 b AN A AS CS CSF G L PR X.
63 c AN A AS CS CSF G L PR X.
64 d AN A AS CS CSF G L PR X.
65 e AN A AS CS CSF G L PR X.
66 f AN A AS CS CSF G L PR X.
67 g AN A AS CS CSF G L PR .
68 h AN A AS CS CSF G L PR .
69 i AN A AS CS CSF G L PR .
6a j AN A AS CS CSF G L PR .
6b k AN A AS CS CSF G L PR .
6c l AN A AS CS CSF G L PR .
6d m AN A AS CS CSF G L PR .
6e n AN A AS CS CSF G L PR .
6f o AN A AS CS CSF G L PR .
70 p AN A AS CS CSF G L PR .
71 q AN A AS CS CSF G L PR .
72 r AN A AS CS CSF G L PR .
73 s AN A AS CS CSF G L PR .
74 t AN A AS CS CSF G L PR .
75 u AN A AS CS CSF G L PR .
76 v AN A AS CS CSF G L PR .
77 w AN A AS CS CSF G L PR .
78 x AN A AS CS CSF G L PR .
79 y AN A AS CS CSF G L PR .
7a z AN A AS CS CSF G L PR .
7b { AS G PU PR .
7c | AS G PU PR .
7d } AS G PU PR .
7e ~ AS G PU PR .
7f AS C .
Siehe auch
Zeichenklassifizierung
Gebietsschema
setlocale, _wsetlocale
Interpretation von Multibytezeichensequenzen
to -Funktionen