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

NUME

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

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #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.

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.

ISTORIC

       open_memstream()
              glibc 1.0.x.

       open_wmemstream()
              glibc 2.4.

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   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                    2 mai 2024                                  open_memstream(3)