is, isw Routines

isalnum, iswalnum, _isalnum_l, _iswalnum_l isgraph, iswgraph, _isgraph_l, _iswgraph_l
isalpha, iswalpha, _isalpha_l, _iswalpha_l isleadbyte, _isleadbyte_l
isascii, __isascii, iswascii islower, iswlower, _islower_l, _iswlower_l
isblank, iswblank, _isblank_l, _iswblank_l isprint, iswprint, _isprint_l, _iswprint_l
iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l ispunct, iswpunct, _ispunct_l, _iswpunct_l
iscsym, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l isspace, iswspace, _isspace_l, _iswspace_l
_isctype, iswctype, _isctype_l, _iswctype_l isupper, _isupper_l, iswupper, _iswupper_l
isdigit, iswdigit, _isdigit_l, _iswdigit_l isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l

Note

Queste routine verificano che i caratteri soddisfino le condizioni specificate.

Le routine is producono risultati significativi per qualsiasi argomento Integer compreso tra -1 (EOF) e UCHAR_MAX (0xFF), inclusi. Il tipo di argomento previsto è int.

Attenzione

Per le routine is, il passaggio di un argomento di tipo char potrebbe generare risultati imprevedibili. Un carattere a un byte SBCS o MBCS di tipo char con un valore maggiore di 0x7F è negativo. Se viene passato un tipo char, è possibile che il compilatore converta il valore in un int o long con segno. Il valore potrebbe essere esteso con segno dal compilatore, con risultati non previsti.

Le routine isw producono risultati significativi per qualsiasi valore Integer compreso tra -1 (WEOF) e 0xFFFF, inclusi. Il tipo di dati wint_t è definito in WCHAR.H come unsigned short. Può usare qualsiasi carattere wide o valore wide di fine del file (WEOF).

La configurazione dell'impostazione della categoria LC_CTYPE delle impostazioni locali influisce sul valore di output. Per altre informazioni, vedere setlocale. Le versioni di queste funzioni senza il suffisso _l usano le impostazioni locali correnti per questo comportamento dipendente dalle impostazioni locali. Le versioni con il suffisso _l sono identiche, ma usano il parametro passato alle impostazioni locali.

Nelle impostazioni locali "C" le condizioni di test per le routine is sono quelle specificate di seguito:

isalnum
Alfanumerico (A - Z, a - z o 0 - 9).

isalpha
Alfabetico (A - Z o a - z).

__isascii
Carattere ASCII (0x00 - 0x7F).

isblank
Tabulazione orizzontale o spazio (0x09 o 0x20).

iscntrl
Carattere di controllo (0x00-0x1F o 0x7F).

__iscsym
Lettera, carattere di sottolineatura o cifra.

__iscsymf
Lettera o carattere di sottolineatura.

isdigit
Cifra decimale (0 - 9).

isgraph
Carattere stampabile, eccetto lo spazio ( ).

islower
Lettera minuscola (a - z).

isprint
Caratteri stampabili, incluso lo spazio (0x20 - 0x7E).

ispunct
Carattere di punteggiatura.

isspace
Spazio vuoto (0x09 - 0x0D o 0x20).

isupper
Lettera maiuscola (A - Z).

isxdigit
Cifra esadecimale (A - F, a - f o 0 - 9).

Per le routine isw, il risultato del test per la condizione specifica è indipendente dalle impostazioni locali. Le condizioni di test per le funzioni isw sono le seguenti:

iswalnum
iswalpha o iswdigit.

iswalpha
Qualsiasi carattere wide di un set definito a livello di implementazione per il quale nessuna delle funzioni iswcntrl, iswdigit, iswpunct, o iswspace è diversa da zero. iswalpha restituisce un valore diverso da zero solo per i caratteri wide per i quali iswupper o iswlower è diversa da zero.

iswascii
Rappresentazione di caratteri wide in caratteri ASCII (0x0000 - 0x007F).

iswblank
Carattere wide che corrisponde allo spazio standard o è parte di un set definito a livello di implementazione di caratteri wide per il quale la funzione iswalnum è falsa. I caratteri vuoti standard sono spazio (L' ') e tabulazione orizzontale (L'\t').

iswcntrl
Carattere di controllo wide.

__iswcsym
Qualsiasi carattere wide per il quale la funzione isalnum è vera, o il carattere "_".

__iswcsymf
Qualsiasi carattere wide per il quale iswalpha è vera, o il carattere "_".

iswctype
Il carattere ha una proprietà specificata dall'argomento desc. Per ogni valore valido dell'argomento desc della funzione iswctype, esiste un'equivalente routine di classificazione a caratteri wide, come illustrato nella tabella seguente:

Equivalenza di iswctype (
c, desc ) ad altre routine di test isw

Valore dell'argomento desc Equivalente di 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
Carattere wide corrispondente a una cifra decimale.

iswgraph
Carattere wide stampabile, escluso il carattere wide dello spazio (L ').

iswlower
Lettera minuscola o una parte di un set di caratteri wide definito dall'implementazione per il quale nessuna delle funzioni iswcntrl, iswdigit, iswpunct, o iswspace è diversa da zero. iswlower restituisce un valore diverso da zero solo per i caratteri wide che corrispondono a lettere minuscole.

iswprint
Carattere wide stampabile, incluso il carattere wide dello spazio (L ').

iswpunct
Carattere wide stampabile che non sia il carattere wide di spazio (L' ') né un carattere wide per il quale la funzione iswalnum sia diversa da zero.

iswspace
Carattere wide che corrisponde allo spazio vuoto standard o è parte di un set definito a livello di implementazione di caratteri wide per il quale la funzione iswalnum è falsa. Gli spazi vuoti standard sono: spazio (L' '), modulo continuo (L'\f'), nuova riga (L'\n'), ritorno a capo (L'\r'), tabulazione orizzontale (L'\t') e tabulazione verticale (L'\v').

iswupper
Carattere wide maiuscolo o una parte di un set di caratteri wide definito a livello di implementazione per il quale nessuna delle funzioni iswcntrl, iswdigit, iswpunct, o iswspace è diversa da zero. iswupper restituisce un valore diverso da zero solo per i caratteri wide che corrispondono a caratteri maiuscoli.

iswxdigit
Carattere wide che corrisponde a una cifra esadecimale.

Esempio

// 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                              .  

Vedere anche

Classificazione di caratteri
Impostazioni locali
setlocale, _wsetlocale
Interpretazione di sequenze di caratteri multibyte
Funzioni to