Participer au site avec un Tip
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 isprint

La fonction islower La fonction ispunct


Entête à inclure

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

Fonction isprint

int isprint( int character );

Cette fonction permet de tester si un caractère s'affiche (is printable) ou non. Parmis ces caractères on retrouve l'ensemble des caractères ayant une représentation graphique (ceux pour qui la fonction isgraph retourne vrai) ainsi que le caractère d'espacement (de code 0x20). Autrement dit, il s'agit de l'ensemble des caractères ASCII, exceptés les caractères de contrôles (qui eux peuvent être vérifiés via la fonction iscntrl).

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 pouvant s'afficher visuellement. La valeur 0 indiquera qu'il ne s'agit pas d'un caractère pouvant s'afficher.

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 ( isprint( originalString[i] ) ) {
            printf( "%c", originalString[i] );
            counter ++;
        }
    }

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

    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
HelloWorld FinalWord
$>

Sujets connexes

isalnum
isalpha
isblank
iscntrl
isdigit
isgraph
islower
ispunct
isspace
isupper
isxdigit


La fonction islower La fonction ispunct