Provided by: manpages-de-dev_4.27.0-1_all 

BEZEICHNUNG
strtod - konvertiert eine ASCII-Zeichenkette in eine Fließkommazahl
BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT
#include <stdlib.h>
double strtod(const char *restrict nzeig,
char **_Nullable restrict endzeig);
float strtof(const char *restrict nzeig,
char **_Nullable restrict endzeig);
long double strtold(const char *restrict nzeig,
char **_Nullable restrict endzeig);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):
strtof(), strtold():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
BESCHREIBUNG
Die Funktionen strtod(), strtof() und strtold() wandeln den ersten Teil der Zeichenkette, auf die nzeig
zeigt, in die entsprechende double-, float- und long double-Darstellung um.
Es wird die folgende Form (des Anfangs) der Zeichenkette erwartet: optionale Leerzeichen, wie sie von
isspace(3) erkannt werden, ein optionales Plus- »+«) oder Minus-Zeichen (»-«) und dann entweder (i) eine
Dezimalzahl oder (ii) eine Hexadezimalzahl oder (iii) ein unendlicher Wert oder (iv) keine Zahl (ein NAN,
not-a-number).
Eine Dezimalzahl besteht aus einer nicht leeren Folge von Dezimalziffern, die möglicherweise ein
Radix-Zeichen enthält (Dezimalpunkt, von der Locale abhängig, meistens ».«), optional gefolgt von einem
dezimalen Exponenten. Ein dezimaler Exponent besteht aus einem »E« oder »e«, gefolgt von einer nicht
leeren Folge von Dezimalziffern. Er bedeutet eine Multiplikation mit einer Potenz von 10.
Eine Hexadezimalzahl besteht aus einem »0x« oder »0X« gefolgt von einer nicht leeren Folge von
Hexadezimalziffern (die vielleicht ein Radix-Zeichen enthält), der optional ein binärer Exponent folgt.
Ein binärer Exponent besteht aus einem »P« oder »p«, gefolgt von einem optionalen Plus- oder
Minuszeichen, gefolgt von einer nicht leeren Folge von Dezimalziffern, die für die Multiplikation mit
einer Potenz von 2 steht. Mindestens ein Radix-Zeichen und ein binärer Exponent müssen vorhanden sein.
Ein unendlicher Wert ist ungeachtet der Gross- oder Kleinschreibung entweder »INF« oder »INFINITY«.
Ein NAN ist (ungeachtet der Groß- oder Kleinschreibung) ein »NAN«, optional gefolgt von einer
Zeichenkette (n-char-sequence). Die Zeichenfolge beschreibt auf implementationsabhängige Weise den Typ
des NaNs (siehe VERSIONEN).
RÜCKGABEWERT
Diese Funktionen liefern den umgewandelten Wert zurück, wenn er existiert.
Wenn endzeig nicht NULL ist, wird an dem durch endzeig bestimmten Ort ein Zeiger auf das erste Zeichen
gespeichert, das nicht mehr zur Konvertierung herangezogen wurde.
Wenn keine Konvertierung stattgefunden hat, wird 0 zurückgeliefert und (falls endzeig nicht Null ist) der
Wert von nzeig wird am Ort gespeichert, auf den endzeig weist.
Falls der korrekte Wert einen Überlauf verursacht, wird plus oder minus HUGE_VAL, HUGE_VALF oder
HUGE_VALL zurückgegeben (abhängig vom Typ Vorzeichen des Wertes) und ERANGE wird in errno gespeichert.
Verursacht der korrekte Werte eine Bereichsunterschreitung, wird ein Wert zurückgegeben, der nicht größer
als DBL_MIN, FLT_MIN oder LDBL_MIN ist und ERANGE wird in errno gespeichert.
FEHLER
ERANGE Überlauf oder Bereichsunterschreitung aufgetreten
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
┌────────────────────────────────────────────────────────────┬───────────────────────┬──────────────────┐
│ Schnittstelle │ Attribut │ Wert │
├────────────────────────────────────────────────────────────┼───────────────────────┼──────────────────┤
│ strtod(), strtof(), strtold() │ Multithread-Fähigkeit │ MT-Sicher locale │
└────────────────────────────────────────────────────────────┴───────────────────────┴──────────────────┘
VERSIONEN
In der Glibc-Implementierung wird die n-char-sequence, der optional ein »NAN« folgt, als Ganzzahl
interpretiert (mit einem optionalen Präfix »0« oder »0x«, um entweder 8 oder 16 als Basis zu wählen), die
in die Mantissen-Komponente des zurückgegebenen Wertes gesetzt wird.
STANDARDS
C11, POSIX.1-2008.
GESCHICHTE
strtod()
C89, POSIX.1-2001.
strtof()
strtold()
C99, POSIX.1-2001.
WARNUNGEN
Da 0 ein legitimer Rückgabewert sowohl bei Erfolg als auch bei Misserfolg zurückgegeben werden kann,
sollte das aufrufende Programm errno vor dem Aufruf auf 0 setzen und nach dem Aufruf prüfen, ob errno
einen Wert ungleich Null hat.
BEISPIELE
Siehe das Beispiel in der Handbuchseite strtol(3); die Verwendung der in dieser Handbuchseite
beschriebenen Funktionen ist ähnlich.
SIEHE AUCH
atof(3), atoi(3), atol(3), nan(3), nanf(3), nanl(3), strfromd(3), strtol(3), strtoul(3)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>
und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.
Linux man-pages 6.9.1 16. Juni 2024 strtod(3)