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 <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 |
|---|---|
| 1 | int isalnum(int c) Esta función comprueba si el carácter pasado es una letra o un dígito. |
| 2 | int isalpha(int c) Esta función comprueba si el carácter pasado es una letra. |
| 3 | int iscntrl(int c) Esta función comprueba si el carácter pasado es un carácter de control. |
| 4 | int isdigit(int c) Esta función comprueba si el carácter pasado es un dígito decimal. |
| 5 | int isgraph(int c) Esta función comprueba si el carácter pasado tiene una representación gráfica. |
| 6 | int islower(int c) Esta función comprueba si el carácter pasado es una letra minúscula. |
| 7 | int isprint(int c) Esta función comprueba si el carácter pasado es imprimible. |
| 8 | int ispunct(int c) Esta función comprueba si el carácter pasado es un carácter de puntuación. |
| 9 | int isspace(int c) Esta función comprueba si el carácter pasado es un carácter de espacio en blanco. |
| 10 | int isupper(int c) Esta función comprueba si el carácter pasado es una letra mayúscula. |
| 11 | int 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 |
|---|---|
| 1 | int tolower(int c) Esta función convierte letras mayúsculas en minúsculas. |
| 2 | int toupper(int c) Esta función convierte letras minúsculas en mayúsculas. |
Clases de caracteres
| N.º | Clase de caracteres y descripción |
|---|---|
| 1 | Dígitos El conjunto completo de dígitos { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } |
| 2 | Dí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 } |
| 3 | Letras 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 } |
| 4 | Letras 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 } |
| 5 | Letras El conjunto de letras minúsculas y mayúsculas |
| 6 | Caracteres alfanuméricos El conjunto de dígitos, letras minúsculas y mayúsculas |
| 7 | Caracteres de puntuación El conjunto ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ |
| 8 | Caracteres gráficos El conjunto de caracteres alfanuméricos y caracteres de puntuación |
| 9 | Caracteres de espacio El conjunto de tabuladores, saltos de línea, tabuladores verticales, saltos de página, retornos de carro y espacios. |
| 10 | Caracteres imprimibles El conjunto de caracteres alfanuméricos, caracteres de puntuación y caracteres de espacio. |
| 11 | Caracteres de control En la codificación ASCII, los códigos octales de estos caracteres son de 000 a 037, y 177 (DEL). |
| 12 | Caracteres de espacio en blanco Incluye el carácter de espacio y el tabulador. |
| 13 | Caracteres alfabéticos El conjunto de letras minúsculas y mayúsculas. |