Scroll to navigation

STRTOD(3) Linux Programmeurs Handleiding STRTOD(3)

NAAM

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

SAMENVATTING

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


Feature Test Macro Requirements for glibc (see 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 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.

A NAN is "NAN" (disregarding case) optionally followed by a string, (n-char-sequence), where n-char-sequence specifies in an implementation-dependent way the type of NAN (see NOTES).

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

ATTRIBUTEN

Voor een uitlegging van de termen in dit sectie, zie attributes(7).
Interface Attribuut Waarde
strtod(), strtof(), strtold() Thread safety MT-Safe locale

VOLDOET AAN

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

strtod() was ook in C89 beschreven.

OPMERKINGEN

Since 0 can legitimately be returned on both success and failure, the calling program should set errno to 0 before the call, and then determine if an error occurred by checking whether errno has a nonzero value after the call.

In the glibc implementation, the n-char-sequence that optionally follows "NAN" is interpreted as an integer number (with an optional '0' or '0x' prefix to select base 8 or 16) that is to be placed in the mantissa component of the returned value.

VOORBEELDEN

See the example on the strtol(3) manual page; the use of the functions described in this manual page is similar.

ZIE OOK

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

COLOFON

Deze pagina is onderdeel van release 5.07 van het Linux man-pages-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

VERTALING

De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Joost van Baal <joostv-manpages-nl-2398@mdcc.cx> en Mario Blättermann <mario.blaettermann@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>.

9 juni 2020 Linux