Biblioteca estándar de C -<ctype.h>

Introducción

de la biblioteca estándar de Cctype.hEl archivo de cabecera proporciona algunas funciones que se pueden utilizar para probar y convertir caracteres. Estas funciones se utilizan principalmente para comprobar el tipo de carácter (como letras, dígitos, espacios en blanco, etc.) y para realizar la conversión entre mayúsculas y minúsculas.

<ctype.h>Proporciona un conjunto de funciones convenientes para manejar la clasificación y conversión de caracteres. Es una herramienta importante para el manejo de caracteres en la biblioteca estándar de C.

A continuación se muestra un ejemplo sencillo que demuestra cómo utilizar<ctype.h>las funciones proporcionadas:

Ejemplo

#include <stdio.h>
#include <ctype.h>

int main() {
    char ch;

    // Carácter de ejemplo
    char chars[] = "a1 B? \n";

    // Comprobar el tipo de cada carácter
    for (int i = 0; chars[i] != '\0'; i++) {
        ch = chars[i];
        printf("Character: '%c'\n", ch);
        if (isalpha(ch)) {
            printf(" - isalpha: Yes\n");
        } else {
            printf(" - isalpha: No\n");
        }
        if (isdigit(ch)) {
            printf(" - isdigit: Yes\n");
        } else {
            printf(" - isdigit: No\n");
        }
        if (isspace(ch)) {
            printf(" - isspace: Yes\n");
        } else {
            printf(" - isspace: No\n");
        }
        if (isprint(ch)) {
            printf(" - isprint: Yes\n");
        } else {
            printf(" - isprint: No\n");
        }
        if (ispunct(ch)) {
            printf(" - ispunct: Yes\n");
        } else {
            printf(" - ispunct: No\n");
        }
    }

    // Ejemplo de conversión de mayúsculas y minúsculas
    char lower = 'a';
    char upper = 'A';

    printf("tolower('%c') = '%c'\n", upper, tolower(upper));
    printf("toupper('%c') = '%c'\n", lower, toupper(lower));

    return 0;
}

El resultado es:

Character: 'a'
 - isalpha: Yes
 - isdigit: No
 - isspace: No
 - isprint: Yes
 - ispunct: No
Character: '1'
 - isalpha: No
 - isdigit: Yes
 - isspace: No
 - isprint: Yes
 - ispunct: No
Character: ' '
 - isalpha: No
 - isdigit: No
 - isspace: Yes
 - isprint: Yes
 - ispunct: No
Character: 'B'
 - isalpha: Yes
 - isdigit: No
 - isspace: No
 - isprint: Yes
 - ispunct: No
Character: '?'
 - isalpha: No
 - isdigit: No
 - isspace: No
 - isprint: Yes
 - ispunct: Yes
Character: '
'
 - isalpha: No
 - isdigit: No
 - isspace: Yes
 - isprint: No
 - ispunct: No
tolower('A') = 'a'
toupper('a') = 'A'

Funciones de la biblioteca

A continuación se enumeran las funciones definidas en el archivo de cabecera ctype.h.

Estas funciones se utilizan para comprobar si un carácter pertenece a un tipo determinado. Estas funciones aceptanintcomo parámetro, cuyo valor debe ser EOF o representarse como un carácter sin signo.

Si el parámetro c cumple la condición descrita, estas funciones devuelven un valor distinto de cero (true). Si el parámetro c no cumple la condición descrita, estas funciones devuelven cero.

N.ºFunción y descripción
1int isalnum(int c)
Esta función comprueba si el carácter pasado es una letra o un dígito.
2int isalpha(int c)
Esta función comprueba si el carácter pasado es una letra.
3int iscntrl(int c)
Esta función comprueba si el carácter pasado es un carácter de control.
4int isdigit(int c)
Esta función comprueba si el carácter pasado es un dígito decimal.
5int isgraph(int c)
Esta función comprueba si el carácter pasado tiene una representación gráfica.
6int islower(int c)
Esta función comprueba si el carácter pasado es una letra minúscula.
7int isprint(int c)
Esta función comprueba si el carácter pasado es imprimible.
8int ispunct(int c)
Esta función comprueba si el carácter pasado es un carácter de puntuación.
9int isspace(int c)
Esta función comprueba si el carácter pasado es un carácter de espacio en blanco.
10int isupper(int c)
Esta función comprueba si el carácter pasado es una letra mayúscula.
11int isxdigit(int c)
Esta función comprueba si el carácter pasado es un dígito hexadecimal.

La biblioteca estándar también incluye dos funciones de conversión que aceptan y devuelven un "int".

N.ºFunción y descripción
1int tolower(int c)
Esta función convierte letras mayúsculas en minúsculas.
2int toupper(int c)
Esta función convierte letras minúsculas en mayúsculas.

Clases de caracteres

N.ºClase de caracteres y descripción
1Dígitos
El conjunto completo de dígitos { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
2Dígitos hexadecimales
El conjunto { 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f }
3Letras minúsculas
El conjunto { a b c d e f g h i j k l m n o p q r s t u v w x y z }
4Letras mayúsculas
El conjunto {A B C D E F G H I J K L M N O P Q R S T U V W X Y Z }
5Letras
El conjunto de letras minúsculas y mayúsculas
6Caracteres alfanuméricos
El conjunto de dígitos, letras minúsculas y mayúsculas
7Caracteres de puntuación
El conjunto ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
8Caracteres gráficos
El conjunto de caracteres alfanuméricos y caracteres de puntuación
9Caracteres de espacio
El conjunto de tabuladores, saltos de línea, tabuladores verticales, saltos de página, retornos de carro y espacios.
10Caracteres imprimibles
El conjunto de caracteres alfanuméricos, caracteres de puntuación y caracteres de espacio.
11Caracteres de control
En la codificación ASCII, los códigos octales de estos caracteres son de 000 a 037, y 177 (DEL).
12Caracteres de espacio en blanco
Incluye el carácter de espacio y el tabulador.
13Caracteres alfabéticos
El conjunto de letras minúsculas y mayúsculas.
Otras extensiones