Standard C++ Library Reference ISO/IEC (VERSION3)
Next
<errno.h>
Include the standard header <errno.h> to test the value stored in errno by certain library
functions. At program startup, the value stored is zero. Library functions store only values
greater than zero. Any library function can alter the value stored, but only those cases where a
library function is explicitly required to store a value are documented here.
To test whether a library function stores a value in errno, the program should store the value
zero there immediately before it calls the library function. An implementation can define
additional macros in this standard header that you can test for equality with the value stored. All
these additional macros have names that begin with E.
#define EDOM <#if expression>
#define EILSEQ <#if expression>
#define ERANGE <#if expression>
#define errno <int modifiable lvalue>
EDOM
#define EDOM <#if expression>
The macro yields the value stored in errno on a domain error.
EILSEQ
#define EILSEQ <#if expression>
The macro yields the value stored in errno on an invalid multibyte sequence.
ERANGE
#define ERANGE <#if expression>
The macro yields the value stored in errno on a range error.