fesetenv

设置当前的浮点环境。

语法

int fesetenv(
   const fenv_t *penv
);

参数

penv
指向 fenv_t 对象的指针,其中包含通过调用 fegetenvfeholdexcept 设置的浮点环境。 此外,也可使用 FE_DFL_ENV 宏指定默认启动浮点环境。

返回值

如果已成功设置环境,则返回 0。 否则,返回一个非零值。

备注

fesetenv 函数将从存储在由 penv 指向的 fenv_t 对象中的值设置当前浮点环境。 浮点环境是一系列影响浮点计算的状态标志和控件模式。 此环境包括舍入模式和浮点异常的状态标志。 如果 penv 不是 FE_DFL_ENV,或者不指向有效的 fenv_t 对象,则不定义后续行为。

对此函数的调用会设置 penv 对象中的异常状态标志,但它不会引发这些异常。

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

要求

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

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

另请参阅

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