Programme et syntaxe pour la fonction iscntrl(int c) en C

En C, iscntrl() est une fonction prédéfinie utilisée pour la gestion des chaînes et des caractères. ctype est le fichier d’en-tête requis pour les fonctions de caractère. UN caractère de contrôle est un caractère qui n’est pas imprimable, c’est-à-dire qu’il n’occupe pas de position d’impression sur un affichage.

Cette fonction est utilisée pour vérifier si l’argument contient des caractères de contrôle. Il existe de nombreux types de caractères de contrôle en C++ tels que :

  1. Onglet horizontal- ‘\t’
  2. Saut de ligne- ‘\n’
  3. Retour arrière- ‘\b’
  4. Retour chariot- ‘\r’
  5. Saut de formulaire- ‘\F’
  6. Échapper
  7. Caractère d’alerte- ‘\un’

La fonction iscntrl() vérifie si un caractère passé à la fonction en tant qu’argument est un caractère de contrôle ou non. Si le caractère passé est un caractère de contrôle, alors la fonction retourne un entier non nul c’est-à-dire la valeur ASCII du caractère correspondant. Sinon, il renvoie 0.
Selon le jeu de caractères ASCII standard, les caractères de contrôle se situent entre les codes ASCII 0x00 (NUL), 0x1f (US) et 0x7f (DEL). Des implémentations de compilateur spécifiques peuvent définir des caractères de contrôle supplémentaires pour de nombreuses plates-formes spécifiques dans le jeu de caractères étendu (au-dessus de 0x7f).

Syntaxe:

int iscntrl(int c);

Paramètres:
c- C’est le caractère à vérifier.

Valeur de retour :
Cette fonction renvoie une valeur non nulle, c’est-à-dire la valeur ASCII du caractère si c est un caractère de contrôle, sinon elle renvoie 0.

Applications:

1. Étant donné une chaîne, imprimez la chaîne jusqu’à ce que le premier caractère de contrôle soit rencontré.

Algorithme:

  1. Parcourez la chaîne donnée caractère par caractère et écrivez les caractères sur la sortie standard à l’aide de putchar().
  2. Rompre la boucle lorsqu’un caractère de contrôle est trouvé dans la chaîne.
  3. Imprimez la chaîne finale à partir de la sortie standard.

Exemples:

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

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

C

#include <stdio.h>

#include <ctype.h>

 

int main () 

{

  int i = 0, j = 0;

  char str1[] = "geeksforgeeks \t is good";

  char str2[] = "is best \n point";

 

  

  while(!iscntrl(str1[i])) 

  {

    putchar(str1[i]);

    i++;

  }

 

  

  while(!iscntrl(str2[j])) 

  {

    putchar(str2[j]);

    j++;

  }

 

  return(0);

}

Production

geeksforgeeks is best 

2. Étant donné une chaîne, parcourez la chaîne depuis le début et vérifiez si le caractère rencontré est un caractère de contrôle ou non.

Algorithme:

  1. Parcourez la chaîne donnée caractère par caractère jusqu’à sa pleine longueur et vérifiez si le caractère est un caractère de contrôle.
  2. S’il s’agit d’un caractère de contrôle, incrémentez la valeur du compteur de 1, sinon passez au caractère suivant.
  3. Imprimer la valeur du compteur.

Exemples:

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

#include <stdio.h>

#include <ctype.h>

 

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;

}

Production

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

3. Étant donné une chaîne, imprimez les valeurs ASCII de tous les caractères de contrôle.

Algorithme:

  1. Parcourez la chaîne donnée caractère par caractère jusqu’à sa pleine longueur et vérifiez si le caractère est un caractère de contrôle.
  2. S’il s’agit d’un caractère de contrôle, imprimez la valeur ASCII du caractère de contrôle.
  3. Imprimer jusqu’à ce que la valeur ne soit pas égale à zéro. (en utilisant la boucle for ou la boucle while).

Exemples:

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

#include <stdio.h>

#include <ctype.h>

 

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;

}

Production

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 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Aller en haut