Fonction isgraph

Entête à inclure

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

Fonction isgraph

int isgraph( int character );

Cette fonction permet de tester si un caractère possède une représentation graphique ou non. Les caractères ASCII, exceptés les caractères de contrôles et le caractère d'espace, ont une représentation graphique (visuelle).

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 possédant une représentation graphique. La valeur 0 indiquera qu'il ne s'agit pas d'un caractère ayant une représentation visuelle.

Exemple de code

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

int main() {

    char * originalString = "Hello\nWorld Final\tWord";
    size_t length = strlen( originalString );
    size_t counter = 0;

    for( size_t i=0; i<length; i++ ) { 
        if ( isgraph( originalString[i] ) ) {
            printf( "%c", originalString[i] );
            counter ++;
        }
    }

    printf( "\n" );
    assert( counter == 19 );

    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
HelloWorldFinalWord
$>

Sujets connexes

isalnum
isalpha
isblank
iscntrl
isdigit
islower
isprint
ispunct
isspace
isupper
isxdigit