Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Fonction isalpha

La fonction isalnum La fonction isblank


Entête à inclure

#include <ctype.h>  // <cctype> en C++

Fonction isalpha

int isalpha( int character );

Cette fonction permet de tester si un caractère est alphabétique ou non. Un caractère sera considéré comme alphabétique s'il est de lettres minuscules ou de lettres majuscules. Rappel : les fonctions de cette librairie ne traitent que les caractères purs ASCII. Les lettres accentuées ne seront donc pas considérées comme des caractères alpha-numériques.

Paramètre

Valeur de retour

La valeur de retour doit être interprétée en tant que valeur booléenne. Une valeur positive non nulle signifira qu'il s'agit bien d'un caractère alphabétique. La valeur 0 indiquera qu'il ne s'agit pas d'un caractère aphabétique.

Exemple de code

#include <ctype.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {

    char buffer[80];
    printf( "Enter your last name : " );
    scanf( "%[^\n]", buffer );

    bool isCorrect = true;
    size_t length = strlen( buffer );
    for( int i=0; i<length; i++ ) {
        if ( isalpha( buffer[i] ) == false && isblank( buffer[i] ) == false ) {
            isCorrect = false;
        }
    }

    if ( isCorrect ) {
        printf( "Your last name (%s) is correct\n", buffer );
    } else {
        printf( "Your last name (%s) is not correct\n", buffer );
    }

    return EXIT_SUCCESS;
}

Attention : cet exemple utilise des éléments de syntaxe définis dans le standard C99. L'emploie de l'option -std=c99 sur la ligne de compilation de votre exemple est donc requis.

Voici un petit exemple d'exécution de ce programme :

$> gcc -o Sample -Wall -std=c99 Sample.c
$> ./Sample
Enter you last name : c3po
Your last name (c3po) is not correct
$> ./Sample
Enter you last name : De La Vega
Your last name (De La Vega) is correct
$>

Sujets connexes

isalnum
isblank
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
isxdigit


La fonction isalnum La fonction isblank