Provided by: manpages-de-dev_4.23.1-1_all bug

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 nptr, char **restrict endptr);
       float strtof(const char *restrict nptr, char **restrict endptr);
       long double strtold(const char *restrict nptr, char **restrict endptr);

   Mit Glibc erforderliche Feature-Test-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  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 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.
       ┌────────────────────────────────────────────────────────────┬───────────────────────┬──────────────────┐
       │ SchnittstelleAttributWert             │
       ├────────────────────────────────────────────────────────────┼───────────────────────┼──────────────────┤
       │ 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.

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.

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.

Linux man-pages 6.8                                2. Mai 2024                                         strtod(3)