isalnum() : test de lettre ou chiffre
isalpha() : test de lettre
isascii() : test de caractère ascii
iscntrl() : test de caractère de contrôle
isdigit() : test de caractère chiffre décimal
isgraph() : test de caractère 'imprimable'
islower() : test de lettre minuscule
isprint() : test de caractère 'imprimable'
ispunct() : test de caractère de ponctuation
isspace() : test de caractère d'espacement
isupper() : test de lettre majuscule
isxdigit(): test de chiffre décimal ou hexadécimal
toascii() : restriction aux 7 premiers bits
tolower() : conversion en minuscule
toupper() : conversion en majuscule
Prototype:
- int isalnum( int c );
- int isalpha( int c );
- int isascii( int c );
- int iscntrl( int c );
- int isdigit( int c );
- int isgraph( int c );
- int islower( int c );
- int isprint( int c );
- int ispunct( int c );
- int isspace( int c );
- int isupper( int c );
- int isxdigit(int c );
- int toascii( int c);
- int tolower( int c);
- int toupper( int c);
dans: <ctype.h>
Description:
isascii(c) renvoie une valeur non nulle si l'octet de plus faible poids de c est entre 0 et 127.
Pour utiliser la fonction il faut désactiver la macro- définition en utilisant '#undef'.
Pour atteindre la fonction isascii() par exemple, on place les lignes:
#include <ctype.h>
#undef isascii
Les fonctions ou macro-définitions suivantes ne sont définies que si isascii(c) est vrai ou si c est égal à EOF.
La valeur retournée est non nulle (VRAI) si
- isalnum(c) si c est une lettre ou un chiffre
- isalpha(c) si c est une lettre
- iscntrl(c) si c est entre 0 et 31 ou 127
- isdigit(c) si c est un chiffre décimal (48 -> 57)
- isgraph(c) si c est entre '!' et '~' (33 -> 126)
- islower(c) si c est une lettre minuscule
- isprint(c) si c est entre ' ' et '~' (32 -> 126)
- ispunct(c) si c est un caractère de ponctuation
- isspace(c) si c est un caractère d'espacement ('\b' '\t' '\r' '\f' '\v' '\n' ' ')
- isupper(c) si c est une lettre minuscule
- isxdigit(c) si c est un chiffre hexadécimal ('0'-'9' , 'A'-'F', 'a'-'f') et nulle dans le cas contraire.
- toascii(c) retourne la valeur de c réduite aux 7 bits de plus faible poids (c & 0x7F)
- tolower(c) retourne, dans le cas où isupper(c) est vrai, la lettre minuscule correspondant à c
- toupper(c) retourne, dans le cas où islower(c) est vrai, la lettre majuscule correspondant à c
Voir aussi:
Portabilité:
Exemple:
/*
On convertit les caractères d'une phrase en minuscules par
utilisation de la fonction tolower().
Dans cette même phrase, on compte les caractères de ponctuation.
Les chiffres hexadécimaux sont détectés par la fonction isxdigit().
Un entier est réduit à ses 7 premiers bits avec toascii().
*/
#include
#include
void main(void) {
int i, nbponct;
char phrase[]="un texte: Un,DEUX,TROIS.";
printf("Avant conversion: '%s'", phrase);
/*
Conversion en minuscules, et décompte du nombre de
caractères de ponctuation
*/
for ( i=0, nbponct=0; phrase[i]!='\0'; i++ ) {
if( isupper( phrase[i] ) )
phrase[i] = tolower( phrase[i] );
else if( ispunct( phrase[i] )) nbponct ++;
}
printf("\nAprès conversion: '%s'", phrase);
printf("\n%d caractères de ponctuation\n", nbponct);
/* Affichage des chiffres hexadéciamux */
printf("\nChiffres hexadécimaux: ");
for ( i=0; i<256; i++ ) if( isxdigit(i)) printf("%c",i);
/* Exemple d'utilisation de toacsii() */
printf( "\n\ntoascii(11*128+46)=%d\n", toascii(11*128+46));
}