_atold, _wtold
math.h:インデックス への移動
ヘッダーファイル
math.h
カテゴリ
変換ルーチン,演算ルーチン
プロトタイプ
long double _atold(const char *s);
long double _wtold(const wchar_t *s);
説明
文字列を long double に変換します。
_wtold はワイド文字バージョンです。これは,ワイド文字列を long double に変換します。
_atof は,_atold の浮動小数点バージョンです。
_atold は,s が指す文字列を long double に変換します。この関数は,次の項目を認識します。
タブとスペースからなるオプションの文字列
オプションの符号
数字とオプションの小数点からなる文字列
オプションの e または E に続くオプションの符号付き整数
認識できない最初の文字で変換が終了します。オーバーフローに備える機能はありません。
strtod および _strtold 関数は,atof および _atold と似た機能を持ち,エラーの検出の点では優れているため,アプリケーションによってはこちらの使用をお勧めします。
戻り値
入力文字列の変換後の値を返します。
オーバーフローが発生する場合,_atold は,正または負の HUGE_VAL(または _LHUGE_VAL)を返し,errno を ERANGE(結果が範囲外)に設定します。_matherr(または _matherrl)は呼び出されません。
コード例
#include <stdlib.h> #include <math.h> long double add_inputs(wchar_t* left, wchar_t* right) { /* Transform the input strings into floats */ long double d_left = _wtold(left); long double d_right = _wtold(right); /* Add the transformed floats */ return d_left + d_right; }
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
_atold |
+ |
|||
_wtold |
+ |