名前 | 形式 | MT レベル | 機能説明 | 戻り値 | 関連項目 | 注意事項 | 診断
#include <wstring.h> doublewstrtod(str,ptr) wchar_t*str,**ptr;);
Unsafe
wstrtod() は str が指すワイド文字列が示す値を倍精度浮動小数点数として返します。
wstrtod が認識する文字列は、任意の個数の空白文字 ( wctype(3C) の iswspace で定義される ) で始まり、次に + または – 符号を付けられる小数点を含み得る 10 進数の数字文字列です。さらに、+ 、 – 符号、またはスペースを付けられる整数を伴う e または E 文字列が後ろに付いても構いません。この文字列に使用する文字は ASCII 文字か JIS X 0208 文字とすることができますが、混在させることはできません。
ptr の値が (wchar_t **)NULL でない場合、走査を終了させた文字へのポインタが ptr が指す番地に返されます。数値が作れない場合は *ptr に str が設定され、0.0 が返されます。
この関数を使用するためには、setlocale() 関数によって、LC_CTYPE
カテゴリを ja またはこれと同等な日本語ロケール名に設定しておく必要があります。
値がオーバフローする場合は、符号によって ±Infinity が返され errno に ERANGE が設定されます。値がアンダフローする場合は 0 が返され errno に ERANGE が設定されます。
wstrtod() を使用する場合には、コンパイラオプション -ljapanese によって、オブジェクトモジュールに /usr/lib/libjapanese.a をリンクする必要があります。
指数のオーバ ーフローおよびアンダフローの場合は IEEE 規格に定められた結果となります。さらに errno に ERANGE が設定されます。