Accès rapide :
Présentation de l'entête <iso646.h>
Eléments fournis par la librairie <iso646.h>
Exemple d'utilisation
L'entête <iso646.h>, introduit par l'amendement C95 du standard C, propose des macros permettant
d'écrire certains opérateurs logiques et bit à bit avec des mots. Cette possibilité avait surtout un intérêt
historique : certains jeux de caractères ou certains claviers rendaient moins pratique la saisie de caractères comme
&, |, ^, ~ ou !.
Pour utiliser ces macros en C, il suffit d'inclure l'entête suivant.
#include <iso646.h> // <ciso646> en C++
En C++, ces noms font directement partie du langage sous forme de jetons alternatifs. L'entête <ciso646>
servait donc essentiellement à conserver une compatibilité de forme avec les entêtes C.
<iso646.h>.
| Nom | Type | Description | Depuis |
|---|---|---|---|
and, or, not... |
Macros | Synonymes textuels des opérateurs logiques, bit à bit et composés du langage C. | C95 |
L'exemple suivant utilise quelques synonymes textuels pour tester et manipuler un masque de bits.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <iso646.h> #include <stdio.h> #include <stdlib.h> int main() { unsigned int permissions = 0x6; unsigned int writeMask = 0x2; unsigned int execMask = 0x1; if ( ( permissions bitand writeMask ) and not ( permissions bitand execMask ) ) { permissions or_eq execMask; } printf( "permissions = %u\n", permissions ); return EXIT_SUCCESS; } |
Cet exemple produit l'affichage suivant.
permissions = 7
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 :