Fonction isalnum

Entête à inclure

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

Fonction isalnum

int isalnum( int character );

Cette fonction permet de tester si un caractère est alpha-numérique ou non. Un caractère sera considéré comme alpha-numérique s'il est une lettre (minuscule ou majuscule) ou un chiffre. 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

  • character : le caractère à tester. Il est sur-typé par int car la fonction peut aussi accepter la valeur -1 (EOF - End Of File) correspondant à la fin d'un flux.

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 alpha-numérique. La valeur 0 indiquera qu'il ne s'agit pas d'un caractère apha-numérique.

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 login (only alpha-numeric characters) : " );
    scanf( "%s", buffer );

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

    if ( isCorrect ) {
        printf( "Your login is correct\n" );
    } else {
        printf( "Your login is not correct\n" );
    }

    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 login (only alpha-numeric characters) : Bond
Your login is correct
$> ./Sample
Enter you login (only alpha-numeric characters) : r2d2
Your login is correct
$> ./Sample
Enter you login (only alpha-numeric characters) : éléphant
Your login is not correct
$> ./Sample
Enter you login (only alpha-numeric characters) : #!@
Your login is not correct
$>

Sujets connexes

isalpha
isblank
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
isxdigit