is
, isw
routines
isalnum
, , iswalnum
_isalnum_l
, ,_iswalnum_l
isalpha
, , iswalpha
_isalpha_l
, ,_iswalpha_l
isascii
, , __isascii
iswascii
isblank
, , iswblank
_isblank_l
, ,_iswblank_l
iscntrl
, , iswcntrl
_iscntrl_l
, ,_iswcntrl_l
iscsym
, , iscsymf
, __iswcsym
__iscsym
, , __iswcsymf
_iscsymf_l
_iscsym_l
_iswcsym_l
__iscsymf
_iswcsymf_l
_isctype
, , iswctype
_isctype_l
, ,_iswctype_l
isdigit
, iswdigit
, , _iswdigit_l
isgraph
_isdigit_l
, 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_l
iswupper
, ,_iswupper_l
isxdigit
, , iswxdigit
_isxdigit_l
, ,_iswxdigit_l
Notes
Ces routines testent les caractères pour des conditions spécifiées.
Les is
routines produisent des résultats significatifs pour tout argument entier compris entre -1 (EOF
) et UCHAR_MAX
(0xFF), inclus. Le type d’argument attendu est int
.
Attention
Pour les routines, le is
passage d’un argument de type char
peut produire des résultats imprévisibles. Toutefois, un caractère codé sur un octet SBCS ou MBCS de type char
avec une valeur supérieure à 0x7F est négatif. Si un char
est passé, le compilateur peut convertir la valeur en un signed int
ou un signed long
. Le compilateur peut la convertir en valeur de type signe étendu, avec des résultats inattendus.
Les isw
routines produisent des résultats significatifs pour toute valeur entière comprise entre -1 (WEOF
) et 0xFFFF inclus. Le wint_t
type de données est défini en <WCHAR.H>
tant que unsigned short
. Il peut contenir n’importe quel caractère large ou la valeur de fin de fichier (WEOF
) de caractère large.
La valeur de la sortie est affectée par la valeur du paramètre de la catégorie LC_CTYPE
des paramètres régionaux. Pour plus d’informations, consultez setlocale
. Les versions de ces fonctions sans le suffixe _l
utilisent les paramètres régionaux pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe _l
sont identiques, sauf qu'elles utilisent à la place les paramètres régionaux transmis.
Dans les paramètres régionaux « C », les conditions de test pour les is
routines sont les suivantes :
isalnum
Alphanumériques (A - Z, a - z ou 0 - 9).
isalpha
Alphabétiques (A - Z ou a - z).
__isascii
Jeu de caractères ASCII (0x00 - 0x7F)
isblank
Tabulation horizontale ou espace (0x09 ou 0x20)
iscntrl
Caractère de contrôle (0x00-0x1F ou 0x7F)
__iscsym
Lettre, trait de soulignement ou chiffre
__iscsymf
Lettre ou trait de soulignement
isdigit
Nombre décimal (0 - 9)
isgraph
Caractère imprimable à l’exception de l’espace (0x20).
islower
Lettre minuscule (a - z)
isprint
Caractère imprimable, y compris les espaces (0x20 - 0x7E)
ispunct
Caractère de ponctuation
isspace
Espace blanc (0x09-0x0D ou 0x20)
isupper
Lettre majuscule (A - Z)
isxdigit
Chiffre hexadécimal (A - F, a - f, ou 0 - 9)
Pour les isw
routines, le résultat du test pour la condition spécifiée est indépendant des paramètres régionaux. Les conditions de test pour les isw
fonctions sont les suivantes :
iswalnum
iswalpha
ou iswdigit
.
iswalpha
Tout caractère large qui fait partie d’un jeu défini par l’implémentation et pour lequel aucun des iswcntrl
, iswdigit
, iswpunct
ou iswspace
n’est différent de zéro. iswalpha
retourne une valeur différente de zéro pour les caractères larges dont iswupper
ou iswlower
est différent de zéro.
iswascii
Représentation d’un caractère ASCII (0x0000 - 0x007F) sous forme de caractère large
iswblank
Caractère large qui correspond au caractère espace standard ou fait partie d’un jeu de caractères larges défini par l’implémentation pour lequel iswalnum
a la valeur false Les caractères vides standard sont des espaces (L' '
) et un onglet horizontal (L'\t'
).
iswcntrl
Caractère large de contrôle
__iswcsym
Tout caractère large pour lequel isalnum
est true, ou le caractère « _ ».
__iswcsymf
Tout caractère large pour lequel iswalpha
est true, ou le caractère « _ ».
iswctype
La propriété du caractère est spécifiée par l’argument desc
. Pour chaque valeur valide de l’argument desc
de , il existe une routine de iswctype
classification de caractères larges équivalente, comme indiqué dans le tableau suivant :
Équivalence des autres isw
routines de iswctype(c, desc)
test
Valeur de l’argument desc |
Équivalent 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
Caractère large correspondant à un caractère numérique décimal.
iswgraph
Caractère large imprimable à l’exception du caractère large de l’espace (L' '
).
iswlower
Lettre minuscule ou l’un des jeux de caractères larges définis par l’implémentation et pour lequel aucun des iswcntrl
, iswdigit
, iswpunct
ou iswspace
n’est différent de zéro. iswlower
retourne une valeur différente de zéro uniquement pour les caractères larges qui correspondent à des lettres minuscules.
iswprint
Caractère large imprimable, y compris le caractère large de l’espace (L' '
).
iswpunct
Caractère large imprimable qui n’est pas un caractère large d’espace (L' '
) et non un caractère large pour lequel iswalnum
il n’est pas différent de zéro.
iswspace
Caractère large qui correspond au caractère d’espace blanc standard ou fait partie d’un jeu de caractères larges défini par l’implémentation pour lequel iswalnum
a la valeur false. Les espaces blancs standard sont les suivants : espace (L' '
), flux de formulaire (L'\f'
), saut de formulaire (), retour chariot (L'\r'
L'\n'
), tabulation horizontale (L'\t'
) et tabulation verticale (L'\v'
).
iswupper
Caractère large en lettre majuscule ou qui fait partie d’un jeu de caractères larges défini par l’implémentation et pour lequel aucun des iswcntrl
, iswdigit
, iswpunct
ou iswspace
n’est différent de zéro. iswupper
retourne une valeur différente de zéro uniquement pour les caractères larges qui correspondent à des lettres majuscules.
iswxdigit
Caractère large qui correspond à un caractère numérique hexadécimal.
Exemple
// 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" );
}
}
Sortie
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 .
Voir aussi
Classification des caractères
Paramètres régionaux
setlocale
, _wsetlocale
Interprétation des séquences de caractères multioctets
to
, fonctions