<iso646.h>
Alternative Operator SpellingsISO-646 is a character encoding standard that’s very similar to ASCII. But it’s missing a few notable characters, like |
, ^
, and ~
.
Since these are operators or parts of operators in C, this header file defines a number of macros you can use in case those characters aren’t found on your keyboard. (And also C++ can use these same alternate spellings.)
Operator | <iso646.h> equivalent |
---|---|
&& |
and |
&= |
and_eq |
& |
bitand |
| |
bitor |
~ |
compl |
! |
not |
!= |
not_eq |
|| |
or |
|= |
or_eq |
^ |
xor |
^= |
xor_eq |
Interestingly, there is no eq
for ==
, and &
and !
are included despite being in ISO-646.
Example usage:
#include <stdio.h>
#include <iso646.h>
int main(void)
{
int x = 12;
int y = 30;
if (x == 12 and y not_eq 40)
printf("Now we know.\n");
}
I’ve personally never seen this file included, but I’m sure it gets used from time to time.