fegetexceptflag

存储指定的浮点异常标志的当前状态。

语法

int fegetexceptflag(
   fexcept_t* pstatus,
   int excepts
);

参数

pstatus
指向 fexcept_t 对象以包含由 excepts 指定的异常标志的当前值的指针。

excepts
要在 pstatus 中存储的浮点异常标志。

返回值

如果成功, 返回 0。 否则,返回一个非零值。

注解

fegetexceptflag 函数存储浮点异常状态标志的当前状态(由 pstatus 指向的 fexcept_t 对象中的 excepts 指定)。 pstatus 必须指向有效的 fexcept_t 对象,或未定义后续行为。 fegetexceptflag 函数支持 <fenv.h> 中定义的这些异常宏:

异常宏 说明
FE_DIVBYZERO 在早期的浮点运算中出现了奇点或极点错误;创建了无限值。
FE_INEXACT 此函数被强制舍入早期浮点运算的存储结果。
FE_INVALID 早期浮点运算中发生域错误。
FE_OVERFLOW 范围出错;早期浮点运算结果过大而无法表示。
FE_UNDERFLOW 早期的浮点运算结果因为过小而无法以完整的精度表示;创建了非常规值。
FE_ALL_EXCEPT 所有受支持的浮点异常的按位 OR。

excepts 参数可能为零、一个受支持的浮动点异常宏,或为两个或多个宏的按位 OR。 未定义任何其他 参数值的效果。

若要使用此函数,必须在调用前先使用 #pragma fenv_access(on) 指令关闭可能会阻止访问的浮点优化。 有关详细信息,请参阅 fenv_access

要求

函数 C 标头 C++ 标头
fegetexceptflag <fenv.h> <cfenv>

有关兼容性的详细信息,请参阅 兼容性

另请参阅

按字母顺序显示的函数参考
fesetexceptflag