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 ispunct

La fonction isprint La fonction isspace


Entête à inclure

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

Fonction ispunct

int ispunct( int character );

Cette fonction permet de tester si un caractère est considérés comme un caractère de ponctuattion ASCII. Sont considérés comme caractères de ponctuation ASCII les caractères suivant : !"#$%&'()*+,-./:;<=>?@ [\]^_`{|}~. Cet ensemble de caractères correspond aux caractères ayant une représentation graphique (testable via la fonction isgraph) mais n'étant pas alpha-numérique (testable via la fonction isalnum).

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

Exemple de code

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

int main() {

    char * originalString = "Ceci est mon message : il est <<cool>>, n'est ce pas ?";
    size_t length = strlen( originalString );
    size_t counter = 0;

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

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

    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
:<<>>,'?
$>

Sujets connexes

isalnum
isalpha
isblank
iscntrl
isdigit
isgraph
islower
isprint
isspace
isupper
isxdigit


La fonction isprint La fonction isspace