Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       open_memstream,  open_wmemstream,  open_wmemstream  -  deschide  un flux de memorie tampon
       dinamică

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <stdio.h>

       FILE *open_memstream(char **ptr, size_t *sizeloc);

       #include <wchar.h>

       FILE *open_wmemstream(wchar_t **ptr, size_t *sizeloc);

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

       open_memstream(), open_wmemstream():
           Începând cu glibc 2.10
               _POSIX_C_SOURCE >= 200809L
           Înainte de glibc 2.10:
               _GNU_SOURCE

DESCRIERE

       Funcția  open_memstream()  deschide un flux pentru a scrie într-o memorie tampon.  Funcția
       alocă dinamic memoria tampon,  iar  aceasta  crește  automat  în  funcție  de  necesități.
       Inițial,  memoria tampon are dimensiunea zero. După închiderea fluxului, apelantul trebuie
       să elibereze (să apeleze free(3)) această memorie tampon.

       Locațiile indicate de ptr și sizeloc sunt utilizate pentru a raporta,  respectiv,  locația
       curentă  și  dimensiunea  memoriei  tampon. Locațiile la care se face referire prin acești
       indicatori sunt actualizate de fiecare dată când fluxul este  golit  (fflush(3))  și  când
       fluxul  este închis (fclose(3)). Aceste valori rămân valabile doar atât timp cât apelantul
       nu mai efectuează nici o ieșire pe flux. În cazul  în  care  se  efectuează  alte  ieșiri,
       fluxul trebuie să fie din nou curățat înainte de a încerca să acceseze aceste valori.

       La sfârșitul memoriei tampon se păstrează un octet nul. Acest octet nu este este inclus în
       valoarea dimensiunii stocată la sizeloc.

       Fluxul păstrează noțiunea de poziție curentă, care este inițial zero  (începutul  memoriei
       tampon).  Fiecare  operație de scriere ajustează implicit poziția memoriei tampon. Poziția
       memoriei tampon a fluxului poate fi modificată în mod explicit cu fseek(3) sau  fseeko(3).
       Mutarea  poziției  în  memoria  tampon  după  sfârșitul  datelor deja scrise umple spațiul
       intermediar cu caractere nule.

       open_wmemstream() este similară cu open_memstream(), dar operează pe caractere late în loc
       de octeți.

VALOAREA RETURNATĂ

       La  finalizarea  cu  succes, open_memstream() și open_wmemstream() returnează un indicator
       FILE. În caz contrar, se returnează NULL, iar  errno  este  configurată  pentru  a  indica
       eroarea.

VERSIUNI

       open_memstream()  era  deja disponibilă în glibc 1.0.x. open_wmemstream() este disponibilă
       din glibc 2.4.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

       ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │InterfațăAtributValoare │
       ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │open_memstream(), open_wmemstream()                        │ Siguranța firelor │ MT-Safe │
       └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       POSIX.1-2008.  Această funcție nu este specificată în POSIX.1-2001 și nu este  disponibilă
       pe scară largă în alte sisteme.

NOTE

       Nu  există  niciun  descriptor  de  fișier asociat cu fluxul de fișiere returnat de aceste
       funcții (de exemplu, fileno(3) va returna o eroare dacă este apelat pe fluxul returnat).

ERORI

       Înainte de glibc 2.7, căutarea dincolo de capătul unui flux creat de  open_memstream()  nu
       mărește memoria tampon; în schimb, apelul fseek(3) eșuează, returnând -1.

EXEMPLE

       A se vedea fmemopen(3).

CONSULTAȚI ȘI

       fmemopen(3), fopen(3), setbuf(3)

TRADUCERE

       Traducerea  în  limba  română  a  acestui  manual  a  fost  creată  de Remus-Gabriel Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea  3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.