_atold, _wtold
Nach oben zu Math.h - Index
Header-Datei
math.h
Kategorie
Konvertierungsroutinen, mathematische Routinen
Prototyp
long double _atold(const char *s);
long double _wtold(const wchar_t *s);
Beschreibung
Konvertiert einen String in einen Wert des Typs long double.
_wtold ist die Multibyte-Version dieser Funktion. Sie konvertiert einen String aus Multibyte-Zeichen in einen Wert des Typs long double.
_atof ist die Gleitkommaversion von _atold.
_atold konvertiert den String, auf den s zeigt, in einen Wert des Typs long double. Diese Funktion erkennt
Einen optionalen String aus Tabulator- und Leerzeichen
Ein optionales Vorzeichen
Einen String aus Ziffern und einem optionalen Dezimalzeichen
Ein optionales e oder E, gefolgt von einem optionalen, vorzeichenbehafteten Integerwert
Die Konvertierung wird beim ersten nicht erkannten Zeichen beendet. Diese Funktionen treffen keine Vorkehrungen gegen einen Überlauf.
Die Funktionen strtod und _strtold sind atof und _atold ähnlich, bieten aber eine bessere Fehlererkennung, weshalb sie für bestimmte Anwendungen vorzuziehen sind.
Rückgabewert
Gibt den konvertierten Wert des Eingabe-Strings zurück.
Tritt ein Überlauf auf, gibt _atold plus oder minus HUGE_VAL (oder _LHUGE_VAL) zurück, setzt errno auf ERANGE (Ergebnis außerhalb des gültigen Bereichs) und ruft _matherr (oder _matherrl) nicht auf.
Beispiel
#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;
}
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
_atold |
+ |
|||
_wtold |
+ |