Le langage C fournit un certain nombre de fonctions dans ses bibliothèques qui vous permettent de déterminer si le type de données d'une variable est d'un type particulier. Dans cette langue, il existe également des fonctions qui déterminent les propriétés et classent les données dans le même type. Par exemple, la bibliothèque CTYPE fournit un ensemble de fonctions qui vous permettent de déterminer si le caractère qui est entré dans l'argument d'entrée est numérique ou alphanumérique, chiffre, graphisme, contrôle, majuscules, etc.
Dans cet article sur Linx Hint, nous vous montrerons comment utiliser la fonction isdigit () de cette bibliothèque à l'aide du Linux GCC. Nous utilisons la fonction dans des exemples pratiques que nous avons préparés pour vous. Ce faisant, nous utilisons les extraits de code et les images du code pour appliquer l'utilisation d'IsDigit () dans différents cas.
Nous vous montrerons également une description théorique complète de cette fonction, sa syntaxe, ses arguments d'entrée et de sortie et le type de données de chacun d'eux.
Syntaxe de la fonction isdigit en C
int isdigit (char c)
Description de la fonction isdigit en C
La fonction isdigit () en C détermine si le caractère d'entrée «C» correspond à des valeurs décimales de 0 à 9 dans le code ASCII. Ces types de fonctions sont également une excellente ressource pour récupérer les informations des fragments de chaîne ou des fichiers texte et traitez ces données.
Ces types de fonctions sont souvent utilisés pour compléter les fonctions telles que getchar () ou getch () qui lisent un caractère à partir d'un flux et renvoient un entier. Ils renvoient également un caractère et un code d'erreur. GetChar () peut renvoyer EOF (qui est défini comme une constante négative définie par implémentation) via une valeur de retour pour indiquer que le flux d'entrée a terminé.
Pour l'expression suivante, Isdigit () renvoie le résultat de «A» égal à «0» si «b» ne contient pas de caractère de type «chiffre». Si «b» contient un caractère de type «chiffre», cette fonction renvoie un résultat qui n'est pas égal à zéro.
a = isdigit (b);
La fonction isdigit () appartient au «CTYPE.En-tête h ”et doit être déclaré avant d'utiliser cette fonction comme indiqué dans le fragment suivant:
#inclure
Une fois que nous avons déclaré l'en-tête dans le «.Fichier C ”, nous pouvons implémenter le ceil () et l'une de ses fonctions.
Ensuite, nous compilons un fragment de code dans lequel nous utilisons deux variables, A et B, avec des caractères représentant les chiffres et les lettres, respectivement. Ensuite, nous les envoyons comme arguments d'entrée à Isdigit ().
En utilisant la fonction printf (), nous verrons le résultat qui est renvoyé par chacun des appels avec les différents caractères envoyés en entrée dans la console de commande.
#inclure
#inclure
int main()
char a = '3';
char b = 'a';
INT C;
c = isdigit (a);
printf ("est un caractère numérique:% d", c);
c = isdigit (b);
printf ("\ nis Caractère non numerique:% d \ n", c);
retour 0;
Comme le montre la figure suivante, le résultat qui est renvoyé par Isdigit () est égal à 0 pour la variable «A», tandis qu'il n'est pas égal à 0 pour la variable «B» qui contient un caractère non numérique:
Exemple: isdigit () comme condition dans les conditions IF
Ces types de fonctions utilisés pour déterminer le type de données d'une variable seul ne fournit pas de solution pratique. Mais lorsque le résultat de ces fonctions est ajouté en tant que condition dans tout type de conditionnel, nous pouvons exécuter le code ou générer un retour en fonction du type de données entré est le bon pour un processus particulier. Ceci est particulièrement utile lorsque nous créons nos propres fonctions car elle évite les erreurs d'incompatibilité des données ou les résultats erronés si les mauvaises données sont transmises dans les arguments d'entrée.
Dans cet exemple, nous créons une application de console simple où nous entrons un caractère, la récupérons avec la fonction scanf (), puis utilisons la condition Isdigit () pour déterminer si le caractère entré est numérique ou non. Lorsque nous appuyons sur «Entrée», le message «Le caractère est numérique» s'affiche s'il est numérique. Sinon, le message «Le personnage n'est pas numérique» s'affiche.
Copiez et collez le code suivant pour cet exemple dans votre «.Fichier C ”. Compiler et exécuter le programme, taper un caractère et appuyer sur Entrée. Pour quitter l'application, appuyez sur Ctrl + C:
#inclure
#inclure
vide main ()
char a [2];
tandis que (1)
scanf ("% s", & a [0]);
si (isdigit (* a) != 0)
printf ("Les caractères sont numériques \ n");
autre
printf ("Les caractères ne sont pas numériques \ n");
retour;
La figure montre l'utilisation de cette fonction dans les conditions «IF» et les résultats pour chaque cas.
Conclusion
Isdigit () est l'une des fonctions définies dans le ”CTYPE.H ”En-tête qui est utilisé pour classer les personnages dans leurs différents sous-types tels que numérique, alphanumérique, majuscules, etc. Dans cet article sur Linux Hint, nous avons tout expliqué sur la fonction isdigit (). Pour vous aider à maîtriser et à comprendre cette ressource, nous avons créé des exemples pratiques et des fragments de code qui expliquent son utilisation étape par étape. Nous avons également ajouté les images qui montrent l'implémentation des exemples dans la console de commande. Nous espérons que vous avez trouvé cet article en langue C utile. Voir d'autres articles sur les indices Linux pour plus de conseils et d'informations.