Como el archivo de encabezado string.h contiene funciones integradas para manejar strings en C/C++, ctype.h / <cctype> contiene funciones integradas para manejar caracteres en C/C++ respectivamente.
Los personajes son de dos tipos:
- Caracteres imprimibles: Los caracteres que se muestran en el terminal.
- Personajes de control: Los personajes que se inician para realizar una operación específica.
Los argumentos que se pasan a las funciones de caracteres deben ser de tipo entero. Si pasamos caracteres en lugar de un número entero, los caracteres se encasillan en números enteros (valores ASCII correspondientes) y esos números enteros se pasan como argumentos.
Las siguientes funciones en el archivo de encabezado ctype.h / <cctype> se aplican a los caracteres normales. Las funciones de caracteres anchos se utilizan para los caracteres de tipo wchar_t .
S.No | Función | Descripción | Valores devueltos |
---|---|---|---|
1. | isalnum() | Esta función identifica los caracteres alfanuméricos | Devuelve 0 si el argumento pasado es un carácter no alfanumérico. Devuelve un valor distinto de cero si el argumento pasado es un carácter alfanumérico . |
2. | isalfa() | Esta función identifica los alfabetos de otros caracteres | Devuelve 0 si el argumento pasado no es un alfabeto . Devuelve un valor distinto de cero si el argumento pasado es un alfabeto. |
3. | está en blanco() | Esta función identifica los espacios en blanco de otros caracteres | Devuelve 0 si el argumento pasado no es un espacio en blanco Devuelve un valor distinto de cero si el argumento pasado es un espacio en blanco |
4. | iscntrl() | Esta función identifica los caracteres de control (\n, \b, \t, \r). | Devuelve 0 si el argumento pasado no es un carácter de control Devuelve un valor distinto de cero si el argumento pasado es un carácter de control |
5. | esdigito() | Esta función identifica números en carácter. | Devuelve 0 si el argumento pasado no es un número Devuelve un valor distinto de cero si el argumento pasado es un número |
6. | es bajo() | Esta función identifica los alfabetos en minúsculas. | Devuelve 0 si el argumento pasado no es un alfabeto en minúsculas Devuelve un valor distinto de cero si el argumento pasado es un alfabeto en minúsculas |
7. | esimprimir() | Esta función identifica los caracteres imprimibles. | Devuelve 0 si el argumento pasado es un carácter no imprimible . Devuelve un valor distinto de cero si el argumento pasado es un carácter imprimible. |
8. | espuntuar() | Esta función identifica los caracteres de puntuación (caracteres que no son alfanuméricos ni espacios). | Devuelve 0 si el argumento pasado no es un carácter de puntuación Devuelve un valor distinto de cero si el argumento pasado es un carácter de puntuación |
9. | esespacio() | Esta función identifica los caracteres de espacio en blanco. | Devuelve 0 si el argumento pasado no es un carácter de espacio en blanco Devuelve un valor distinto de cero si el argumento pasado es un carácter de espacio en blanco |
10 | essuperior() | Esta función identifica los alfabetos en mayúsculas. | Devuelve 0 si el argumento pasado no es un alfabeto en mayúsculas . Devuelve un valor distinto de cero si el argumento pasado es un alfabeto en mayúsculas. |
11 | esxdigit() | Esta función identifica el dígito hexadecimal. | Devuelve 0 si el argumento pasado no es un dígito hexadecimal . Devuelve un valor distinto de cero si el argumento pasado es un dígito hexadecimal. |
12 | reduce() | Esta función convierte el alfabeto en mayúsculas en minúsculas. | Devuelve el alfabeto en minúsculas del alfabeto en mayúsculas correspondiente |
13 | topper() | Esta función convierte el alfabeto en minúsculas en alfabeto en mayúsculas. | Devuelve el alfabeto en mayúsculas del alfabeto en minúsculas correspondiente |
A continuación se muestran ejemplos para implementar algunas de las funciones anteriores:
- Ejemplo 1: El siguiente programa identifica el número de letras, dígitos:
#include <stdio.h>
// Header file containing character functions
#include <ctype.h>
void
identify_alpha_numeric(
char
a[])
{
int
count_alpha = 0, count_digit = 0;
for
(
int
i = 0; a[i] !=
'\0'
; i++) {
// To check the character is alphabet
if
(
isalpha
(a[i]))
count_alpha++;
// To check the character is a digit
if
(
isdigit
(a[i]))
count_digit++;
}
printf
(
"The number of alphabets are %d\n"
,
count_alpha);
printf
(
"The number of digits are %d"
,
count_digit);
}
int
main()
{
// String Initialization
char
a[]
=
"Hi 1234, "
" Welcome to GeeksForGeeks"
;
identify_alpha_numeric(a);
}
Producción:The number of alphabets are 24 The number of digits are 4
- Ejemplo 2: El siguiente programa identifica el número de letras mayúsculas y minúsculas y convierte las mayúsculas en minúsculas:
#include <stdio.h>
// Header file containing character functions
#include <ctype.h>
char
* identify_convert_ul(
char
a[])
{
int
count_upper = 0, count_lower = 0;
for
(
int
i = 0; a[i] !=
'\0'
; i++) {
// To check the uppercase characters
if
(
isupper
(a[i])) {
count_upper++;
a[i] =
tolower
(a[i]);
}
// To check the lowercase characters
else
if
(
islower
(a[i])) {
count_lower++;
a[i] =
toupper
(a[i]);
}
}
printf
(
"No. of uppercase characters are %d\n"
,
count_upper);
printf
(
"No. of lowercase characters are %d"
,
count_lower);
return
a;
}
int
main()
{
// String Initialization
char
a[] =
"Hi, Welcome to GeeksForGeeks"
;
char
* p;
p = identify_convert_ul(a);
printf
(
"%s"
, p);
}
Producción:No. of uppercase alphabets are 5 No. of lowercase alphabets are 19 hI, wELCOME TO gEEKSfORgEEKS
- Ejemplo 3: El siguiente programa imprime cada palabra en una nueva línea:
#include <stdio.h>
// Header file containing character functions
#include <ctype.h>
char
* print_word(
char
a[])
{
for
(
int
i = 0; a[i] !=
'\0'
; i++) {
// Space is replaced
// with control character '\n'
if
(isblank(a[i]))
a[i] =
'\n'
;
}
return
a;
}
int
main()
{
// String Initialization
char
a[] =
"Hello Everyone."
" Welcome to GeeksForGeeks portal. "
;
char
* p;
p = print_word(a);
printf
(
"%s"
, p);
}
Producción:Hello Everyone. Welcome to GeeksForGeeks portal.
Publicación traducida automáticamente
Artículo escrito por avsadityavardhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA