strtod

STRTOD(3)                   Linux-Programmierhandbuch                  STRTOD(3)



BEZEICHNUNG
       strtod - konvertiert eine ASCII-Zeichenkette in eine Fließkommazahl

ÜBERSICHT
       #include <stdlib.h>

       double strtod(const char *nptr, char **endptr);
       float strtof(const char *nptr, char **endptr);
       long double strtold(const char *nptr, char **endptr);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       strtof(), strtold():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

BESCHREIBUNG
       Die Funktionen strtod(), strtof(), and strtold()  wandeln den ersten Teil
       der Zeichenkette, auf die nptr 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 vonisspace(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' oderr '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 ANMERKUNGEN).

RÜCKGABEWERT
       Diese Funktionen liefern den umgewandelten Wert zurück, wenn er
       existiert.

       Wenn endptr nicht NULL ist, wird an dem durch endptr 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 endptr nicht Null ist) der Wert von nptr wird am Ort gespeichert,
       auf den endptr 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-Safe locale │
       └──────────────────────────────┴───────────────────────┴────────────────┘
KONFORM ZU
       POSIX.1-2001, POSIX.1-2008, C99.

       strtod() wurde auch in C89 beschrieben.

ANMERKUNGEN
       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.

       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.

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)

KOLOPHON
       Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts
       Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie
       Fehler gemeldet werden können sowie die aktuelle Version dieser Seite
       finden sich unter https://www.kernel.org/doc/man-pages/.


Ü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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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                           1. November 2020                       STRTOD(3)