wcstod |
| ||||
wcstod | |
ヘッダ | #include <wchar.h> |
形 式 | double wcstod(const wchar_t *nptr, wchar_t **endptr); |
機 能 | nptrが指す文字列の最初の部分を、double型の表現に変換する。 まず始めに、入力文字列を次の三つの部分に分割する。 第1の部分 … iswspace関数の規定による空白類ワイド文字の並び(空でもよい)。 第2の部分 … 浮動小数点定数と同様の形式の変換対象列。 第3の部分 … 認識の対象とならない文字の1ワイド文字以上の末尾のワイド文字列(入力ワイド文字列の終了を示すナルワイド文字を含む) 次に、変換対象列の部分を浮動小数点数に変換し、その結果を返す。 変換対象列の認識可能な形式は、省略可能な正符号または負符号、次に空でない数字の列(この中に小数点ワイド文字が一つだけ含まれていても構わない)、次に省略可能な指数部である。ただし、指数部に浮動小数点接尾語があってはならない。変換対象列は、入力ワイド文字列中の最初の非空白類ワイド文字で始まる、認識可能な形式の最も長い部分列として定義する。入力ワイド文字列が空であるか、すべて空白類からなるか、または最初の非空白類ワイド文字が、符号、数字および小数点ワイド文字のいずれでもないとき、変換対象列はワイド文字を含まない。 変換対象列が認識可能な形式であるとき、最初の数字または小数点ワイド文字(のどちらか最初に現れた方)で始まるワイド文字の列を浮動小数点定数として解釈する。ただし、ピリオドの代わりに小数点ワイド文字を用いること、および指数部も小数点ワイド文字も現れなかったとき、小数点がワイド文字列の直後にあると仮定されることを除く。変換対象列が負符号で始まるとき、変換の結果の値は負である。endptrが空ポインタでなければ、末尾のワイド文字列へのポインタをendptrが指すオブジェクトに格納する。 付加的に処理系定義の変換対象列の形式を受理しても構わない。 変換対象列が空であるかまたは認識可能な形式でないとき、変換は行わない。このとき、endptrが空ポインタでなければ、nptrの値をendptrが指すオブジェクトに格納する。 |
返却値 | 変換に成功すれば変換した値を返し、失敗すれば0を返す。正しい値が表現可能な値の範囲外であるとき、(値の符号に従って)正または負のHUGE_VALを返し、errnoにはマクロERANGEの値を格納する。正しい値がアンダフローを起こすときは0を返し、errnoにはマクロERANGEの値を格納する。 |