Namespaces
Variants

isalpha

From cppreference.net
< c ‎ | string ‎ | byte
Definido en el encabezado <ctype.h>
int isalpha ( int ch ) ;

Comprueba si el carácter dado es un carácter alfabético, es decir, ya sea una letra mayúscula ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ), o una letra minúscula ( abcdefghijklmnopqrstuvwxyz ).

En configuraciones regionales distintas a "C" , un carácter alfabético es un carácter para el cual isupper() o islower() devuelve true o cualquier otro carácter considerado alfabético por la configuración regional. En cualquier caso, iscntrl() , isdigit() , ispunct() y isspace() devolverán false para este carácter.

El comportamiento no está definido si el valor de ch no es representable como unsigned char y no es igual a EOF .

Contenidos

Parámetros

ch - carácter a clasificar

Valor de retorno

Valor distinto de cero si el carácter es un carácter alfabético, cero en caso contrario.

Ejemplo

Demuestra el uso de isalpha con diferentes configuraciones regionales (específicas del sistema operativo).

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xdf'; // German letter ß in ISO-8859-1
    printf("isalpha('\\xdf') in default C locale returned %d\n", !!isalpha(c));
    setlocale(LC_CTYPE, "de_DE.iso88591");
    printf("isalpha('\\xdf') in ISO-8859-1 locale returned %d\n", !!isalpha(c));
}

Salida posible:

isalpha('\xdf') in default C locale returned 0
isalpha('\xdf') in ISO-8859-1 locale returned 1

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.4.1.2 La función isalpha (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.4.1.2 La función isalpha (p: 145)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.4.1.2 La función isalpha (p: 200-201)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.4.1.2 La función isalpha (p: 181-182)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.3.1.2 La función isalpha

Véase también

comprueba si un carácter ancho es alfabético
(función)
Valores ASCII caracteres

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

decimal hexadecimal octal
0–8 \x0 \x8 \0 \10 códigos de control ( NUL , etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 tabulación ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 espacios en blanco ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 códigos de control ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 espacio 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21 \x2F \41 \57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30 \x39 \60 \71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A \x40 \72 \100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41 \x46 \101 \106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47 \x5A \107 \132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B \x60 \133 \140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61 \x66 \141 \146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67 \x7A \147 \172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B \x7E \173 \176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 carácter de retroceso ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0