Provided by: manpages-ro-dev_4.27.0-1_all 

NUME
strtod, strtof, strtold - convertesc un șir ASCII în număr în virgulă mobilă
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#include <stdlib.h>
double strtod(const char *restrict nptr,
char **_Nullable restrict endptr);
float strtof(const char *restrict nptr,
char **_Nullable restrict endptr);
long double strtold(const char *restrict nptr,
char **_Nullable restrict endptr);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):
strtof(), strtold():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
DESCRIERE
Funcțiile strtod(), strtof() și strtold() convertesc porțiunea inițială a șirului indicat de nptr în
reprezentarea double, float și, respectiv, long double.
Forma așteptată a șirului (porțiunii inițiale a șirului) este un spațiu alb de început opțional, astfel
cum este recunoscut de isspace(3), un semn plus („+”) sau minus („-”) opțional și apoi fie (i) un număr
zecimal, fie (ii) un număr hexazecimal, fie (iii) un infinit, fie (iv) un NAN (not-a-number).
Un număr zecimal constă dintr-o secvență nevidă de cifre zecimale care poate conține un caracter drept
separator zecimal (semn zecimal, în funcție de configurația regională, de obicei „.”), urmat, opțional,
de un exponent zecimal. Un exponent zecimal constă dintr-un „E” sau „e”, urmat de un semn plus sau minus
opțional, urmat de o secvență nevidă de cifre zecimale, și indică înmulțirea cu o putere de 10.
Un număr hexazecimal este format dintr-un „0x” sau „0X” urmat de o secvență nevidă de cifre hexazecimale
care poate conține un caracter drept separator, urmat, opțional, de un exponent binar. Un exponent binar
constă dintr-un „P” sau „p”, urmat de un semn plus sau minus opțional, urmat de o secvență nevidă de
cifre zecimale și indică înmulțirea cu o putere de 2. Trebuie să fie prezent (cel puțin unul dintre ele)
fie caracterul cu rol separator, fie exponentul binar.
Un infinit este fie „INF”, fie „INFINITY”, fără a lua în considerare diferențele dintre ele.
Un NAN este „NAN” (fără a lua în considerare majusculele și minusculele) urmat, opțional, de un șir de
caractere, (n-char-sequence), unde n-char-sequence specifică tipul de NAN într-un mod care depinde de
implementare (a se vedea secțiunea VERSIUNI).
VALOAREA RETURNATĂ
Aceste funcții returnează valoarea convertită, dacă există.
Dacă endptr nu este NULL, în locația la care face referire endptr se stochează un indicator la caracterul
de după ultimul caracter utilizat în conversie.
Dacă nu se efectuează nicio conversie, se returnează zero și (cu excepția cazului în care endptr este
nul) valoarea lui nptr este stocată în locația la care face referire endptr.
În cazul în care valoarea corectă ar provoca o depășire, se returnează plus sau minus HUGE_VAL, HUGE_VALF
sau HUGE_VALL (în funcție de tipul de returnare și de semnul valorii), iar ERANGE este stocat în errno.
În cazul în care valoarea corectă ar provoca o depășire a limitei minime (ar fi sub valoarea minimă), se
returnează o valoare cu magnitudinea nu mai mare decât DBL_MIN, FLT_MIN sau LDBL_MIN, iar ERANGE este
stocat în errno.
ERORI-IEȘIRE
ERANGE A apărut o depășire a limitei superioare/inferioare.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
┌──────────────────────────────────────────────────────────────────┬───────────────────┬────────────────┐
│ Interfață │ Atribut │ Valoare │
├──────────────────────────────────────────────────────────────────┼───────────────────┼────────────────┤
│ strtod(), strtof(), strtold() │ Siguranța firelor │ MT-Safe locale │
└──────────────────────────────────────────────────────────────────┴───────────────────┴────────────────┘
VERSIUNI
În implementarea glibc, secvența n-char-sequence care urmează opțional după „NAN” este interpretată ca un
număr întreg (cu un prefix opțional „0” sau „0x” pentru a selecta baza 8 sau 16) care urmează să fie
plasat în componenta mantisă a valorii returnate.
STANDARDE
C11, POSIX.1-2008.
ISTORIC
strtod()
C89, POSIX.1-2001.
strtof()
strtold()
C99, POSIX.1-2001.
PRECAUȚII
Deoarece 0 poate fi returnat în mod legitim atât în caz de succes, cât și în caz de eșec, programul
apelant ar trebui să stabilească errno la 0 înainte de apel, iar apoi să determine dacă s-a produs o
eroare verificând dacă errno are o valoare diferită de zero după apel.
EXEMPLE
A se vedea exemplul de pe pagina de manual strtol(3); utilizarea funcțiilor descrise în această pagină de
manual este similară.
CONSULTAȚI ȘI
atof(3), atoi(3), atol(3), nan(3), nanf(3), nanl(3), strfromd(3), strtol(3), strtoul(3)
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
Pagini de manual de Linux 6.9.1 16 iunie 2024 strtod(3)