Provided by: manpages-de-dev_4.13-4_all bug

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.
       ┌───────────────────────────────┬───────────────────────┬────────────────┐
       │ SchnittstelleAttributWert           │
       ├───────────────────────────────┼───────────────────────┼────────────────┤
       │ 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 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                                           1. November 2020                                       STRTOD(3)