Scroll to navigation

strtod(3) Library Functions Manual strtod(3)

NAAM

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

BIBLIOTHEEK

Standard C bibliotheek (libc, -lc)

SAMENVATTING

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

Feature Test Macro´s eisen in glibc (zie feature_test_macros(7)):

strtof(), strtold():


_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

BESCHRIJVING

De strtod(), strtof() en strtold() 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 taaldefinitie-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 '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" (negeer hoofd- of kleine letters) optioneel gevolgd door een tekenreeks, (n-char-sequence), waar (n-char-sequence) in een implementatie-afhankelijke manier het type van de NAN specificeert (zie NOTITIES).

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 deconversie gebruikte karakter opgeslagen op de locatie waar endptr naar wijst.

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

Als de correcte waarde overloop zou veroorzaken, dan wordt plus of minus HUGE_VAL (HUGE_VALF, HUGE_VALL) teruggegeven (overeenkomstig het uitvoer type en het teken van de waarde)s, en ERANGE wordt opgeslagen in errno.

Als de correcte waarde onderloop zou veroorzaken, dan wordt een waarde niet groter dan de grootte van HUGE_VAL (HUGE_VALF, HUGE_VALL) teruggegeven en ERANGE wordt opgeslagen in errno.

FOUTEN

Overflow of underflow trad op.

ATTRIBUTEN

Voor een uitleg van de termen in deze sectie, zie attributes(7).

Interface Attribuut Waarde
strtod(), strtof(), strtold() Thread veiligheid MT-Safe taalgebied

VOLDOET AAN

POSIX.1-2001, POSIX.1-2008, C99.

OPMERKINGEN

Omdat 0 een geldige uitvoerwaarde is zowel bij succes als falen, moet het aanroepende programma errno instellen op 0 voor de aanroep, en vervolgens bepalen of een fout optrad door te controleren of errno een niet-nul waarde heeft na de aanroep.

In de glibc implementatie, wordt de n-char-sequence die optioneel "NAN" volgt geïnterpreteerd als een gehele waarde (met optioneel '0' of '0x' als voorvoegsel om 8 of 16 als basis te selecteren) die geplaatste wordt in de mantisse component van de teruggegeven waarde.

VOORBEELDEN

Zie het voorbeeld in de strtol(3) handleiding; het gebruik van de functies beschreven in deze handleiding is vergelijkbaar.

ZIE OOK

atof(3), atoi(3), atol(3), nan(3), nanf(3), nanl(3), strfromd(3), strtol(3), strtoul(3)

VERTALING

De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Joost van Baal <joostv-manpages-nl-2398@mdcc.cx>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-dutch@lists.debian.org.

5 februari 2023 Linux man-pagina's 6.03