is, isw (Rutinas)is, isw Routines

ObservacionesRemarks

Estas rutinas comprueban si los caracteres cumplen las condiciones especificadas.These routines test characters for specified conditions.

Las rutinas is producen resultados significativos para cualquier argumento de entero de -1 (EOF) a UCHAR_MAX (0xFF), incluidos.The is routines produce meaningful results for any integer argument from -1 (EOF) to UCHAR_MAX (0xFF), inclusive. El tipo de argumento esperado es int .The expected argument type is int.

Precaución

En el caso de las rutinas is , pasar un argumento de tipo char puede producir resultados imprevisibles.For the is routines, passing an argument of type char may yield unpredictable results. Un carácter de un solo byte de SBCS o MBCS de tipo char con un valor mayor que 0x7F es negativo.An SBCS or MBCS single-byte character of type char with a value greater than 0x7F is negative. Si char se pasa, el compilador puede convertir el valor en signed int o signed long .If a char is passed, the compiler may convert the value to a signed int or a signed long. El compilador puede agregar a este valor la extensión de signo, lo que provocaría resultados inesperados.This value may be sign-extended by the compiler, with unexpected results.

Las rutinas isw producen resultados negativos para cualquier valor entero de -1 (WEOF) a 0xFFFF, incluidos.The isw routines produce meaningful results for any integer value from - 1 (WEOF) to 0xFFFF, inclusive. El tipo de datos wint_t se define en WCHAR. H como unsigned short ; puede contener cualquier carácter ancho o el valor de final de archivo (WEOF) de caracteres anchos.The wint_t data type is defined in WCHAR.H as an unsigned short; it can hold any wide character or the wide-character end-of-file (WEOF) value.

El valor de salida se ve afectado por el valor de la categoría LC_CTYPE de la configuración regional; vea setlocale para obtener más información.The output value is affected by the setting of the LC_CTYPE category setting of the locale; see setlocale for more information. Las versiones de estas funciones sin el sufijo _l usan la configuración regional actual de su comportamiento dependiente de la configuración regional; las versiones con el sufijo _l son idénticas salvo que usan el parámetro de configuración regional que se pasa.The versions of these functions without the _l suffix use the current locale for this locale-dependent behavior; the versions with the _l suffix are identical except that they use the locale parameter passed in instead.

En la configuración regional "C", las condiciones de prueba de las rutinas is son las siguientes:In the "C" locale, the test conditions for the is routines are as follows:

isalnum
Alfanumérico (A - Z, a - z o 0 - 9).Alphanumeric (A - Z, a - z, or 0 - 9).

isalpha
Alfabético (A - Z o a - z).Alphabetic (A - Z or a - z).

__isascii
Carácter ASCII (0x00 - 0x7F).ASCII character (0x00 - 0x7F).

isblank
Tabulación horizontal o carácter de espacio (0x09 o 0x20).Horizontal tab or space character (0x09 or 0x20).

iscntrl
Carácter de control (0x00 - 0x1F o 0x7F).Control character (0x00 - 0x1F or 0x7F).

__iscsym
Letra, carácter de subrayado o dígito.Letter, underscore, or digit.

__iscsymf
Letra o carácter de subrayado.Letter or underscore.

isdigit
Dígito decimal (0 - 9).Decimal digit (0 - 9).

isgraph
Un carácter imprimible excepto el espacio ( ).Printable character except space ( ).

islower
Minúscula (a - z).Lowercase letter (a - z).

isprint
Carácter imprimible incluido el espacio (0x20 - 0x7E).Printable character including space (0x20 - 0x7E).

ispunct
Carácter de puntuación.Punctuation character.

isspace
Carácter de espacio en blanco (0x09 - 0x0D o 0x20).White-space character (0x09 - 0x0D or 0x20).

isupper
Mayúscula (A - Z).Uppercase letter (A - Z).

isxdigit
Dígito hexadecimal (A - F, a - f o 0 - 9).Hexadecimal digit (A - F, a - f, or 0 - 9).

En el caso de las rutinas isw, el resultado de prueba de la condición especificada es independiente de la configuración regional.For the isw routines, the result of the test for the specified condition is independent of locale. Las condiciones de prueba de las funciones isw son las siguientes:The test conditions for the isw functions are as follows:

iswalnum
iswalpha o iswdigit.iswalpha or iswdigit.

iswalpha
Cualquier carácter ancho que pertenezca a un conjunto que se define en la implementación para el que ni iswcntrl, ni iswdigit, ni iswpunct ni iswspace sea distinto de cero.Any wide character that is one of an implementation-defined set for which none of iswcntrl, iswdigit, iswpunct, or iswspace is nonzero. iswalpha devuelve un valor distinto de cero solo para caracteres anchos para los que iswupper o iswlower sea distinto de cero.iswalpha returns nonzero only for wide characters for which iswupper or iswlower is nonzero.

iswascii
Representación de carácter ancho de caracteres ASCII (0x0000 - 0x007F).Wide-character representation of ASCII character (0x0000 - 0x007F).

iswblank
Carácter ancho correspondiente al carácter de espacio estándar o que pertenece a un conjunto de caracteres anchos que se define en la implementación para los que iswalnum es FALSE.Wide character that corresponds to the standard space character or is one of an implementation-defined set of wide characters for which iswalnum is false. Los caracteres en blanco estándar son el espacio (L' ') y la tabulación horizontal (L'\t').Standard blank characters are space (L' ') and horizontal tab (L'\t').

iswcntrl
Carácter ancho de control.Control wide character.

__iswcsym
Cualquier carácter ancho para el que isalnum sea True, o el carácter ''.Any wide character for which isalnum is true, or the '' character.

__iswcsymf
Cualquier carácter ancho para el que iswalpha sea True, o el carácter ''.Any wide character for which iswalpha is true, or the '' character.

iswctype
El carácter tiene la propiedad especificada por el argumento desc.Character has property specified by the desc argument. Por cada valor válido del argumento desc de iswctype, hay una rutina equivalente de clasificación de carácter ancho, como se muestra en la tabla siguiente:For each valid value of the desc argument of iswctype, there is an equivalent wide-character classification routine, as shown in the following table:

Equivalencia de iswctype(c, desc) con otras rutinas de prueba de iswEquivalence of iswctype(c, desc) to Other isw Testing Routines

Valor del argumento descValue of desc argument equivalente de iswctype( c, desc )iswctype( c, desc ) equivalent
_ALPHA_ALPHA iswalpha ( c )iswalpha( c )
_ALPHA | _DIGIT_ALPHA | _DIGIT iswalnum( c )iswalnum( c )
_BLANK_BLANK iswblank ( c )iswblank( c )
_CONTROL_CONTROL iswcntrl( c )iswcntrl( c )
_DIGIT_DIGIT iswdigit( c )iswdigit( c )
_ALPHA | _DIGIT | _PUNCT_ALPHA | _DIGIT | _PUNCT iswgraph ( c )iswgraph( c )
_LOWER_LOWER iswlower( c )iswlower( c )
_ALPHA | _BLANK | _DIGIT | _PUNCT_ALPHA | _BLANK | _DIGIT | _PUNCT iswprint ( c )iswprint( c )
_PUNCT_PUNCT iswpunct ( c )iswpunct( c )
_BLANK_BLANK iswblank ( c )iswblank( c )
_SPACE_SPACE iswspace( c )iswspace( c )
_UPPER_UPPER iswupper( c )iswupper( c )
_HEX_HEX iswxdigit ( c )iswxdigit( c )

iswdigit
Carácter ancho correspondiente a un carácter de dígito decimal.Wide character corresponding to a decimal-digit character.

iswgraph
Carácter ancho imprimible excepto el carácter ancho de espacio (L' ').Printable wide character except space wide character (L' ').

iswlower
Minúscula, o una de un conjunto de caracteres anchos que se define en la implementación para los que ni iswcntrl, ni iswdigit, ni iswpunct ni iswspace es distinto de cero.Lowercase letter, or one of implementation-defined set of wide characters for which none of iswcntrl, iswdigit, iswpunct, or iswspace is nonzero. iswlower devuelve un valor distinto de cero solo para los caracteres anchos que corresponden a minúsculas.iswlower returns nonzero only for wide characters that correspond to lowercase letters.

iswprint
Carácter ancho imprimible incluido el carácter ancho de espacio (L' ').Printable wide character, including space wide character (L' ').

iswpunct
Carácter ancho imprimible que no es ni el carácter ancho de espacio (L' ') ni un carácter ancho para el que iswalnum sea distinto de cero.Printable wide character that is neither space wide character (L' ') nor wide character for which iswalnum is nonzero.

iswspace
Carácter ancho correspondiente al carácter de espacio en blanco estándar o que pertenece a un conjunto de caracteres anchos que se define en la implementación para los que iswalnum es FALSE.Wide character that corresponds to standard white-space character or is one of implementation-defined set of wide characters for which iswalnum is false. Los caracteres de espacio en blanco estándar son espacio (L' '), avance de página (L'\f'), nueva línea (L'\n'), retorno de carro (L'\r'), tabulación horizontal (L'\t') y tabulación vertical (L'\v').Standard white-space characters are: space (L' '), form feed (L'\f'), newline (L'\n'), carriage return (L'\r'), horizontal tab (L'\t'), and vertical tab (L'\v').

iswupper
Carácter ancho que es una mayúscula o que pertenece a un conjunto de caracteres anchos definido en la implementación para los que ni iswcntrl, ni iswdigit, ni iswpunct, ni iswspace sea distinto de cero.Wide character that is uppercase or is one of an implementation-defined set of wide characters for which none of iswcntrl, iswdigit, iswpunct, or iswspace is nonzero. iswupper devuelve un valor distinto de cero solo para los caracteres anchos que corresponden a mayúsculas.iswupper returns nonzero only for wide characters that correspond to uppercase characters.

iswxdigit
Carácter ancho que corresponde a un carácter de dígito hexadecimal.Wide character that corresponds to a hexadecimal-digit character.

EjemploExample

// 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" );
   }
}

SalidaOutput

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                              .

Vea tambiénSee also

Clasificación de caracteresCharacter Classification
Configuración regionalLocale
setlocale, _wsetlocalesetlocale, _wsetlocale
Interpretación de secuencias de caracteres multibyteInterpretation of Multibyte-Character Sequences
a funcionesto Functions