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 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.03                  15 decembrie 2022                              open_memstream(3)