Programa y sintaxis para la función iscntrl(int c) en C

En C, iscntrl() es una función predefinida utilizada para el manejo de strings y caracteres. ctype es el archivo de encabezado requerido para las funciones de caracteres. Un carácter de control es uno que no es un carácter imprimible, es decir, no ocupa una posición de impresión en una pantalla.

Esta función se utiliza para verificar si el argumento contiene algún carácter de control. Hay muchos tipos de caracteres de control en C++ como:

  1. Pestaña horizontal- ‘\t’
  2. Salto de línea : ‘\n’
  3. Retroceso- ‘\b’
  4. Retorno de carro : ‘\r’
  5. Avance de formulario : ‘\f’
  6. Escapar
  7. Carácter de alerta : ‘\a’

La función iscntrl() comprueba si un carácter pasado a la función como argumento es un carácter de control o no. Si el carácter pasado es un carácter de control, la función devuelve un número entero distinto de cero, es decir, el valor ASCII del carácter correspondiente. Si no, devuelve 0.
De acuerdo con el juego de caracteres ASCII estándar, los caracteres de control están entre los códigos ASCII 0x00 (NUL), 0x1f (US) y 0x7f (DEL). Las implementaciones específicas del compilador pueden definir caracteres de control adicionales para muchas plataformas específicas en el juego de caracteres extendido (por encima de 0x7f).

Sintaxis: 

int iscntrl(int c);

Parámetros:
c- Este es el carácter a comprobar.

Valor de retorno:
esta función devuelve un valor distinto de cero, es decir, el valor ASCII del carácter si c es un carácter de control; de lo contrario, devuelve 0.

Aplicaciones:

1. Dada una string, imprima la string hasta que se encuentre el primer carácter de control.

Algoritmo:

  1. Recorra la string dada carácter por carácter y escriba los caracteres en la salida estándar utilizando putchar().
  2. Rompa el bucle cuando se encuentre un carácter de control en la string.
  3. Imprime la string final de la salida estándar.

Ejemplos:

Input: char str1[] = "GeeksforGeeks \t is good";
Output: geeksforgeeks

Input: char str2[] = "Computer programming\n is best";
Output: Computer programming

C

// C program to implement 
// the above approach
#include <stdio.h>
#include <ctype.h>
  
// Driver code
int main () 
{
  int i = 0, j = 0;
  char str1[] = "geeksforgeeks \t is good";
  char str2[] = "is best \n point";
  
  // Prints string till control character \a 
  while(!iscntrl(str1[i])) 
  {
    putchar(str1[i]);
    i++;
  }
  
  // Prints string till control character \n 
  while(!iscntrl(str2[j])) 
  {
    putchar(str2[j]);
    j++;
  }
  
  return(0);
}
Producción

geeksforgeeks is best 

2. Dada una string, recorra la string desde el principio y verifique si el carácter encontrado es un carácter de control o no.

Algoritmo:

  1. Recorra la string dada carácter por carácter hasta su longitud completa y verifique si el carácter es un carácter de control.
  2. Si es un carácter de control, incremente el valor del contador en 1; de lo contrario, pase al siguiente carácter.
  3. Imprime el valor del contador.

Ejemplos:

Input: string1[]= "GeeksforGeeks  \n is \n best platform \for Computer Science"
Output: 3

Input: string2[]= "C is a \n powerful programming language."
Output: 1

C

// C program to implement
// the above approach
#include <stdio.h>
#include <ctype.h>
  
// Driver code
int main()
{
  char c;
  int result;
  c = 'R';
  result = iscntrl(c);
  printf("if %c is passed to iscntrl() = %d\n", 
          c, result);
  
  c = '\n';
  result = iscntrl(c);
  printf("if %c is passed to iscntrl() = %d", 
          c, result);
  
  return 0;
}
Producción

if R is passed to iscntrl() = 0
if 
 is passed to iscntrl() = 2

3. Dada una string, imprima los valores ASCII de todos los caracteres de control.

Algoritmo:

  1. Recorra la string dada carácter por carácter hasta su longitud completa y verifique si el carácter es un carácter de control.
  2. Si es un carácter de control, imprima el valor ASCII del carácter de control.
  3. Imprima hasta que el valor no sea igual a cero. (usando bucle for o bucle while).

Ejemplos:

Input: 
for (i = 0; i <= 50; ++i)
{
    if (iscntrl(i) != 0)
    printf("%d ", i);
}
Output:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Input:
for (i = 0; i <= 127; ++i)
{
    if (iscntrl(i) != 0)
    printf("%d ", i);
}
Output:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127

C

// C program to implement
// the above approach
#include <stdio.h>
#include <ctype.h>
  
// Driver code
int main()
{
  int i;
  printf("The ASCII value of all control characters are:\n");
    
  for (i = 0; i <= 50; ++i)
  {
    if (iscntrl(i) != 0)
      printf("%d ", i);
  }
    
  return 0;
}
Producción

The ASCII value of all control characters are:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 

Publicación traducida automáticamente

Artículo escrito por ravisastrykolluru20 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 *