Definition | #include <stdlib.h> double strtod(const char *s, char **endptr); | |
Beschreibung | Diese Funktionen wandeln die Zeichenkette, auf die s zeigt, in eine Gleitkommazahl um. Die umzuwandelnde Zeichenkette kann wie folgt aufgebaut sein: [{ tab | 'BLANK'}...][+|-][ digit ...][.][ digit ...][{E|e}[+|-] digit ...] oder [{ tab | 'BLANK'}...][+|-]0{X|x}[ hexdigit ...][.][ hexdigit ...][{P|p}[+|-] digit ...] Für tab sind alle Zwischenraumzeichen zulässig (siehe Definition bei
Zusätzlich erhält man von Ist endptr ein Nullzeiger, wird
Wenn endptr kein Nullzeiger ist, wird ein Zeiger (*endptr) auf das erste Zeichen in s zurückgeliefert, das die Umwandlung beendet. Wenn überhaupt keine Umwandlung möglich ist, wird *endptr auf die Anfangsadresse der Zeichenkette s gesetzt. | |
Returnwert | Gleitkommazahl vom Typ | |
für Zeichenketten, die eine wie oben beschriebene Struktur haben und einen Zahlenwert darstellen, der im zulässigen Gleitkommabereich liegt. | ||
0 | für Zeichenketten, die nicht der oben beschriebenen Syntax entsprechen bzw. nicht mit umwandelbaren Zeichen beginnen. | |
| abhängig vom Funktionstyp und Vorzeichen des Ergebnisses, für Zeichenketten, deren Zahlenwert außerhalb des zulässigen Gleitkommabereichs liegt. | |
Fehler |
| |
| Der Returnwert verursacht einen Über- oder Unterlauf. | |
| Umwandlung konnte nicht ausgeführt werden. | |
Hinweis | Das Dezimalzeichen in der umzuwandelnden Zeichenkette wird durch die Lokalität (Kategorie | |
Siehe auch |
|