Namespaces
Variants

isxdigit

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

Comprueba si el carácter dado es un carácter numérico hexadecimal ( 0123456789 abcdefABCDEF ) o está clasificado como un carácter hexadecimal.

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 numérico hexadecimal, cero en caso contrario.

Notas

isdigit y isxdigit son las únicas funciones estándar de clasificación de caracteres estrechos que no se ven afectadas por la configuración regional de C actualmente instalada, aunque algunas implementaciones (por ejemplo, Microsoft en la página de códigos 1252) pueden clasificar caracteres de un solo byte adicionales como dígitos.

Ejemplo

#include <ctype.h>
#include <limits.h>
#include <stdio.h>
int main(void)
{
    for (int ndx = 0; UCHAR_MAX >= ndx; ++ndx)
        if (isxdigit(ndx))
            printf("%c", ndx);
    printf("\n");
}

Salida:

0123456789ABCDEFabcdef

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.4.1.12 La función isxdigit (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.4.1.12 La función isxdigit (p: 147)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.4.1.12 La función isxdigit (p: 203)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.4.1.12 La función isxdigit (p: 184)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.3.1.11 La función isxdigit

Véase también

comprueba si un carácter ancho es un carácter hexadecimal
(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