標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
C99 |
両方 | z/OS® V1R7 |
#define _ISOC99_SOURCE
#include <stdlib.h>
float strtof(const char *__restrict__ nptr, char **__restrict__ endptr);
strtof() は、nptr によって示される文字ストリングの一部を float 型に変換します。パラメーター nptr は、float 型の数値として解釈できる文字のシーケンスを示します。
strtof() 関数は、ストリングを次の 3 つの部分に分割します。
次に関数により、サブジェクト・ストリングの浮動小数点数 への変換を 試みてから、結果を戻します。
サブジェクト・シーケンスの予期される形式は、オプションの正符号 (+) または負符号 (-) と、それに続く次のいずれかです。
IEEE 2 進数浮動小数点モードで z/OS 定様式入力関数によって認識される、特殊な無限大と NaN のシーケンスについては、『定様式入力関数の scanf ファミリー』を参照してください。
endptr が NULL ポインターでない場合には、正常に変換 された最後のストリングのポインターは、endptr で示さ れるオブジェクトに保管されます。サブジェクト・ストリングが空か、または想定される形式ではない場合 には、変換は実行されません。nptr の値は、endptr によって示されたオブジェクトで保管されます。
正常に実行された場合、strtof() は、浮動小数点数の値を戻します。
float 値は、strtof() 関数を呼び出すスレッドの浮動小数点モードによって、16 進数浮動小数点形式または IEEE 2 進数浮動小数点形式となります。この関数は、__isBFP() を使って、起動スレッドの浮動小数点モードを 判別します。
オーバーフローでの場合には、strtof() は +/-HUGE_VALF を戻します。アンダーフローの場合は、0 を戻します。変換が実行されないと、strtof() は 0 を戻します。どちら の場合も、基本の値に応じ、errno が ERANGE に設定されます。