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

NUME

       strtoul, strtoull, strtouq - convertește un șir de caractere într-un întreg lung fără semn

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <stdlib.h>

       unsigned long strtoul(const char *restrict nptr,
                             char **_Nullable restrict endptr, int bază);
       unsigned long long strtoull(const char *restrict nptr,
                             char **_Nullable restrict endptr, int bază);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       strtoull():
           _ISOC99_SOURCE
               || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

DESCRIERE

       Funcția  strtoul() convertește partea inițială a șirului din nptr într-o valoare unsigned long în funcție
       de baza dată, care trebuie să fie cuprinsă între 2 și 36 inclusiv, sau să fie valoarea specială 0.

       Șirul poate începe cu o cantitate arbitrară de spațiu alb  (determinată  de  isspace(3)),  urmată  de  un
       singur  semn  opțional  „+” sau „-”. Dacă bază este zero sau 16, șirul poate include apoi un prefix „0x”,
       iar numărul va fi citit în baza 16; în caz contrar, o bază zero este considerată ca fiind  10  (zecimal),
       cu excepția cazului în care următorul caracter este „0”, caz în care este considerat ca fiind 8 (octal).

       Restul  șirului este convertit într-o valoare unsigned long în mod evident, oprindu-se la primul caracter
       care nu este o cifră validă în baza dată; (în bazele mai mari de 10, litera „A”, fie cu majusculă, fie cu
       minusculă, reprezintă 10, „B” reprezintă 11, și așa mai departe, „Z” reprezentând 35).

       Dacă endptr nu este NULL, iar baza este acceptată, strtoul() stochează adresa primului  caracter  nevalid
       în  *endptr. În cazul în care nu au existat deloc cifre, strtoul() stochează valoarea originală a nptr în
       *endptr (și returnează 0). În special, dacă *nptr nu este „\0”, dar  **endptr  este  „\0”  la  returnare,
       întregul șir este valid.

       Funcția strtoull() funcționează la fel ca funcția strtoul(), dar returnează o valoare unsigned long long.

VALOAREA RETURNATĂ

       Funcția  strtoul()  returnează  fie rezultatul conversiei, fie, în cazul în care a existat un semn minus,
       negația rezultatului conversiei, reprezentat ca o valoare fără semn, cu excepția cazului în care valoarea
       originală (fără semn) ar  fi  depășită;  în  acest  din  urmă  caz,  strtoul()  returnează  ULONG_MAX  și
       configurează errno la ERANGE. Exact același lucru este valabil și pentru strtoull() (cu ULLONG_MAX în loc
       de ULONG_MAX).

ERORI-IEȘIRE

       Această funcție nu modifică errno în caz de succes.

       EINVAL (nu în C99) baza dată conține o valoare neacceptată.

       ERANGE Valoarea rezultată a fost în afara intervalului.

       Implementarea  poate,  de  asemenea,  să stabilească errno la EINVAL în cazul în care nu a fost efectuată
       nicio conversie (nu se vede nicio cifră și se returnează 0).

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌──────────────────────────────────────────────────────────────────┬───────────────────┬────────────────┐
       │ InterfațăAtributValoare        │
       ├──────────────────────────────────────────────────────────────────┼───────────────────┼────────────────┤
       │ strtoul(), strtoull(), strtouq()                                 │ Siguranța firelor │ MT-Safe locale │
       └──────────────────────────────────────────────────────────────────┴───────────────────┴────────────────┘

VERSIUNI

       În alte configurații regionale decât „C”, pot fi acceptate și alte șiruri; (de exemplu, poate fi acceptat
       separatorul de mii din configurația regională curentă).

       BSD are de asemenea

           u_quad_t strtouq(const char *nptr, char **endptr, int base);

       cu o definiție complet analoagă. În funcție de dimensiunea  cuvintelor  din  arhitectura  curentă,  acest
       lucru poate fi echivalent cu strtoull() sau cu strtoul().

STANDARDE

       C11, POSIX.1-2008.

ISTORIC

       strtoul()
              POSIX.1-2001, C89, SVr4.

       strtoull()
              POSIX.1-2001, C99.

PRECAUȚII

       Deoarece  strtoul()  poate  returna în mod legitim 0 sau ULONG_MAX (ULLONG_MAX pentru strtoull()) 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.

       Valorile  negative  sunt  considerate  intrări  valide  și  sunt  convertite în mod silențios în valoarea
       echivalentă unsigned long.

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

       a64l(3), atof(3), atoi(3), atol(3), strtod(3), strtol(3), strtoumax(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                                       strtoul(3)