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

NUME

       scanf, fscanf, vscanf, vfscanf - conversia formatului FILE (fișierului) de intrare

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <stdio.h>

       int scanf(const char *restrict format, ...);
       int fscanf(FILE *restrict stream,
                  const char *restrict format, ...);

       #include <stdarg.h>

       int vscanf(const char *restrict format, va_list ap);
       int vfscanf(FILE *restrict stream,
                  const char *restrict format, va_list ap);

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

       vscanf(), vfscanf():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

DESCRIERE

       Familia  de  funcții scanf() scanează datele de intrare formatate ca sscanf(3), dar citite dintr-un FILE.
       Este foarte dificil de utilizat corect aceste funcții și este preferabil să se citească linii întregi  cu
       fgets(3)  sau getline(3) și să se analizeze ulterior cu sscanf(3) sau cu funcții mai specializate, cum ar
       fi strtol(3).

       Funcția scanf() citește datele de intrare din fluxul de intrare  standard  stdin,  iar  fscanf()  citește
       datele de intrare din indicatorul de flux stream.

       Funcția  vfscanf()  este  analogă  cu  vfprintf(3) și citește datele de intrare de la indicatorul de flux
       stream utilizând o listă de indicatori cu argument variabil (a se vedea stdarg(3).  Funcția vscanf() este
       analogă cu vprintf(3) și citește de la intrarea standard.

VALOAREA RETURNATĂ

       În caz de reușită, aceste funcții returnează numărul de elemente de intrare care s-au potrivit cu  succes
       și  au  fost  atribuite; acesta poate fi mai mic decât cel prevăzut sau chiar zero, în cazul unui eșec de
       potrivire inițială.

       Valoarea EOF este returnată dacă se ajunge la sfârșitul intrării înainte de prima conversie  reușită  sau
       de un eșec de potrivire.  EOF este, de asemenea, returnată în cazul în care apare o eroare de citire, caz
       în care se activează indicatorul de eroare pentru flux (a se vedea ferror(3)), iar errno este configurată
       pentru a indica eroarea.

ERORI-IEȘIRE

       EAGAIN Descriptorul  de  fișier  subiacent  lui stream este marcat ca fiind neblocant, iar operațiunea de
              citire s-ar bloca.

       EBADF  Descriptorul de fișier subiacentlui stream nu este valid sau nu este deschis pentru citire.

       EILSEQ Secvența de octeți introdusă nu formează un caracter valid.

       EINTR  Operația de citire a fost întreruptă de un semnal; a se vedea signal(7).

       EINVAL Nu sunt suficiente argumente; sau format este NULL.

       ENOMEM Memorie insuficientă.

ATRIBUTE

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

STANDARDE

       C11, POSIX.1-2008.

ISTORIC

       C99, POSIX.1-2001.

AVERTISMENTE

       Aceste funcții îngreunează distincția dintre liniile noi și alte spații albe, ceea ce  este  deosebit  de
       problematic în cazul intrărilor de tip „line-buffered”, cum ar fi fluxul de intrare standard.

       Aceste funcții nu pot raporta erori după ultima specificație de conversie nesuprimată.

ERORI

       Este  imposibil să se știe cu exactitate câte caractere au consumat aceste funcții din fluxul de intrare,
       deoarece ele raportează doar numărul de conversii reușite. De  exemplu,  dacă  intrarea  este  "123\n a",
       scanf("%d %d",  &a,  &b)  va consuma cifrele, linia nouă și spațiul, dar nu și litera a. Acest lucru face
       dificilă recuperarea în cazul unei intrări nevalide.

CONSULTAȚI ȘI

       fgets(3), getline(3), sscanf(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.8                      2 mai 2024                                           scanf(3)