Biblioteca ctype.h(<cctype>) en C/C++ con ejemplos

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:

  1. Caracteres imprimibles: Los caracteres que se muestran en el terminal.
  2. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *