strtod

STRTOD(3)                    Bibliotheek functies                    STRTOD(3)



NAAM
       strtod, strtof, strtold - zet ASCII string om naar floating point
       number

BESCHRIJVING
       #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);

BESCHRIJVING
       De strtod, strof, en strold functies zetten het eerste deel van de
       string waar nptr naar wijst om in respectievelijk een double, float, en
       long double voorstelling.

       De verwachte vorm voor (het eerste deel van) de string is eventuele
       voorafgaande witruimte zoals herkend door isspace(3), een optioneel
       plus (``+'') of min (``-'') teken, gevolgd door ofwel (i) een decimaal
       getal, ofwel (ii) een hexadecimaal getal, ofwel (iii) een oneindigheid
       ofwel (iv) een NAN (not-a-number, geen-getal).

       Een decimaal getal bestaat uit een niet-lege rij van decimale cijfers,
       mogelijk een radix karakter (een locale-afhankelijke decimale punt,
       gewoonlijk ``.''), mogelijk gevolgd door een decimale exponent.  Een
       decimale exponent bestaat uit een ``E'' of ``e'' karakter, gevolgd door
       een optioneel plus of min teken, gevolgd door een niet-lege serie van
       decimale cijfers, en geeft vermenigvuldiging met een macht van 10 aan.

       Een hexadecimaal getal

       bestaat uit een ``0x'' of ``0X'' gevolgd door een niet-lege rij van
       hexadecimale cijfers, mogelijk bevattend een radix karakter, mogelijk
       gevolgd door een binaire exponent.  Een binaire exponent bestaat uit
       een ``P'' of een ``p'', gevolgd door een optioneel plus- of min-teken,
       gevolgd door een niet-lege rij van decimale getallen, en geeft een
       vermenigvuldiging met een macht van 2 aan.  Ten minste één van het
       radix karakter en de binaire exponent moeten aanwezig zijn.

       Een oneindigheid is òf ``INF'' òf ``INFINITY''; op gebruik van hoofd-
       of kleine letters wordt niet gelet.

       Een NAN is ``NAN'' (op gebruik van hoofd- of kleine letters wordt niet
       gelet) optioneel gevolgd door `(', een serie van karakters, gevolgd
       door `)'.  De serie karakters geeft op een implementatie-afhankelijke
       manier het type van de NAN aan.


EIND WAARDE
       Deze functies geven de omgezette waarde terug, als die er is.

       Als endptr niet NULL is, dan wordt een pointer naar het karakter direct
       achter het laatste in de conversie gebruikte karakter opgeslagen op de
       locatie waar endptr naar wijst.

       Als geen conversie gedaan is, dat wordt nul teruggegeven, en de waarde
       van nptr is opgeslagen in de locatie waar endptr naar wijst.

       Als de correcte waarde overflow zou veroorzaken, dan wordt plus of
       minus HUGE_VAL (HUGE_VALF, HUGE_VALL) teruggegeven (afhankelijk van het
       teken van de waarde), en ERANGE wordt gezet in errno.  Als de correcte
       waarde underflow zou veroorzaken, dan wordt nul teruggegeven en ERANGE
       wordt gezet in errno.

FOUTEN
       ERANGE Overflow of underflow trad op.

VOLDOET AAN
       ANSI C beschrijft strtod, C99 beschrijft de andere twee functies.

ZIE OOK
       atof(3), atoi(3), atol(3), strtol(3), strtoul(3)



Linux                             2001-06-07                         STRTOD(3)