Référence du fichier wctype.h


Description détaillée

Cet entête déclare des fonctions utilisées pour classer et transformer des caractères larges. Il contient l'équivalent des fonctions de ctypes.h. Elles prennent toute un paramètre de type wint_t qui doit soit être la valeur WEOF, soit être une valeur correspondant à un codet du jeu étendu de caractères.

Ce sont les fonctions équivalentes à celles de <ctype.h> mais testant les caractères larges. A part iswgraph() et iswpunct(), ces fonctions retournent vrai si la fonction de <ctype.h> correspondante retourne vrai pour le caractère étroit correspondant (déterminé par wctob()).

Note:
Ajouté en C95.


Macros

#define WEOF
 fin du fichier

Définition de type

typedef __integral wint_t
 entier capable de contenir un caractère large
typedef __scalar wctrant_t
 tranformation de caractères
typedef __scalar wctype_t
 classification de caractères

Fonctions

int iswalnum (wint_t c)
 test pour les caractères alphanumériques
int iswalpha (wint_t)
 test pour les caractères alphabétiques
int iswcntrl (wint_t)
 test pour les caractères de contrôle
int iswdigit (wint_t)
 test pour les chiffres
int iswgraph (wint_t)
 test pour les caractères graphiques
int iswlower (wint_t)
 test pour les minuscules
int iswprint (wint_t)
 test pour les caractères imprimables
int iswpunct (wint_t)
 test pour les caractères de ponctuation
int iswspace (wint_t)
 test pour les blancs
int iswupper (wint_t)
 test pour les majuscules
int iswxdigit (wint_t)
 test pour les chiffres hexadécimaux
wctype_t wctype (char const *property)
 classification par nom
int iswctype (wint_t c, wctype_t classe)
 classification par nom
wint_t towlower (wint_t)
 caractère majuscule correspondant
wint_t towupper (wint_t)
 caractère majuscule correspondant
wctrans_t wctrans (char const *trans)
 transformation par nom
wint_t towctrans (wint_t c, wctrans_t trans)
 transformation par nom


Documentation des macros

#define WEOF

Expression constante entière utilisée pour indiquer une erreur quand il faut un wint_t; elle est différente de tous les membres du jeu de caractères étendu. Elle est utilisée principalement, mais pas uniquement, quand l'erreur raportée est due au fait qu'il n'y a plus de données dans le flux, ce qui explique son nom (End Of File). A noter qu'au contraire de EOF, elle n'est pas garantie négative.


Documentation des définition de type

typedef __scalar wctrant_t

Ce type scalaire est capable de contenir les valeurs représentant les transformations de caractères dépendantes de la locale.

typedef __scalar wctype_t

Ce type scalaire est capable de contenir les valeurs représentant les classifications de caractères dépendantes de la locale.

typedef __integral wint_t

Ce type entier, non modifié par les règles de promotion, est capable de contenir n'importe quelle valeur correspondant à un caractère large ainsi qu'au moins une valeur ne correspondant à aucun caractère larges (voir WEOF)


Documentation des fonctions

int iswalnum ( wint_t  c  ) 

Retourne
vrai pour les caractères alphanumériques.

Note:
Équivalent à iswalpha(c) || iswdigit(c).

retourne vrai si isalnum() retourne vrai pour wctob(c).

int iswalpha ( wint_t   ) 

Outre ceux pour lesquels iswlower() ou iswupper() sont vrai, les locales peuvent considérer comme caractères alphabétiques d'autres caractères pour lesquels iswcntrl(), iswdigit(), iswpunct() et iswspace() doivent alors être faux.

Retourne
vrai pour les caractères alphabétiques.

Note:
retourne vrai si isalpha() retourne vrai pour wctob(c).

int iswcntrl ( wint_t   ) 

Les caractères de contrôles sont ceux qui n'occupent pas de position sur un périphérique de sortie mais servent à contrôler son fonctionnement.

Retourne
vrai pour les caractères de contrôle.

Note:
retourne vrai si iscntrl() retourne vrai pour wctob(c).

int iswctype ( wint_t  c,
wctype_t  classe 
)

Retourne
vrai si le caractère c est dans la classe donnée par classe.

Note:
Voir wctype() pour obtenir la classe

int iswdigit ( wint_t   ) 

Retourne
vrai pour les chiffres décimaux: 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.

Note:
retourne vrai si isdigit() retourne vrai pour wctob(c).

int iswgraph ( wint_t   ) 

Retourne
vrai pour tout caractère imprimable sauf ceux pour lesques iswspace() est vrai.

Note:
Équivalent à iswalnum(c) || iswpunct(c).

Note:
retourne vrai si isgraph() retourne vrai pour wctob(c).

int iswlower ( wint_t   ) 

Retourne
vrai pour les caractères alphabétique bas de casse.

Note:

retourne vrai si islower() retourne vrai pour wctob(c).

int iswprint ( wint_t   ) 

Retourne
vrai pour les caractères imprimables, qui occupent une position sur un périphérique de sortie.

Note:
Équivalent à iswspace(c) || isgraph(c).

int iswpunct ( wint_t   ) 

Retourne
vrai pour les caractères de ponctuations définis comme étant les caractères imprimables sauf les blancs et les caractères alphanumériques.

int iswspace ( wint_t   ) 

Retourne
vrai pour les blancs

Note:
retourne vrai si isspace() retourne vrai pour wctob(c).

int iswupper ( wint_t   ) 

Retourne
vrai pour les caractères hauts de casse.

Note:
retourne vrai si isupper() retourne vrai pour wctob(c).

int iswxdigit ( wint_t   ) 

Retourne
vrai pour les chiffres hexadécimaux: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, a, b, c, d, e, f.

wint_t towctrans ( wint_t  c,
wctrans_t  trans 
)

Retourne
le résultat de la transformation trans appliquée au caractère c.

Note:
Voir wctrans() pour obtenir l'identifiant de transformation

wint_t towlower ( wint_t   ) 

Retourne
un caractère correspondant à c pour lequel islower() est vrai si isupper(c) et s'il existe un tel caractère

c sinon.
Note:
Il n'est pas obligatoire que tout caractère pour lequel isupper() est vrai ait un caractère correspondant pour lequel islower() est vrai. Voir des exemples de la situation symétrique dans la description to toupper().

wint_t towupper ( wint_t   ) 

Retourne
un caractère correspondant à c pour lequel isupper() si islower(c) est vrai et s'il existe un tel caractère

c sinon.
Note:
Il n'est pas obligatoire que tout caractère pour lequel islower() est vrai ait un caractère correspondant pour lequel isupper() est vrai. Par exemple le jeu de caractères ISO-8859-1 a au moins trois caractères dans ce cas: ÿ, µ et ß. La forme majuscule des deux premiers est absente du jeu de caractères. La forme majuscule du troisième est non seulement absente du jeu de caractères, elle n'est pas employée par les locuteurs de l'allemand qui utilisent SS ou SZ (le choix dépendant non seulement du mot dans lequel la lettre se trouve, mais aussi d'usages régionaux).

wctrans_t wctrans ( char const *  trans  ) 

Le C fournit un certain nombre de fonctions de transformation des caractères larges et étroits. Mais pour les jeux de caractères larges, on peut désirer d'autres transformations encore. Pour permettre aux implémentations de définir celles qui font sens pour elles, le C95 introduit deux fonctions, wctrans() et towctrans(). La première renvoie un identifiant à partir d'un nom de transformation, la seconde permet d'effectuer la transformation.

Retourne
un identifiant correspondant à la transformation trans
0 si la transformation trans n'est pas supportée par l'implémentation
Note:
Les transformations suivantes, correspondant aux autres fonctions de transformation, doivent être supportées.

wctype_t wctype ( char const *  property  ) 

Le C fournit un certain nombre de fonctions de classification des caractères larges et étroits. Mais pour les jeux de caractères larges, on peut désirer d'autres classes encore (idéogrammes, ...) Pour permettre aux implémentations de définir celles qui font sens pour elles, le C95 introduit deux fonctions, wctype() et iswctype(). La première renvoie un identifiant à partir d'un nom de classe, la seconde permet de tester si un caractère large fait partie de cette classe.

Retourne
un identifiant correspondant à la classe property
0 si la classe property n'est pas supportée par l'implémentation
Note:
Les classes suivantes, correspondant aux autres fonctions de classification, doivent être supportées.


Copyright © 2008 -- 2009 Jean-Marc Bourguet Accueil Pages sur le C