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

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ță │ Atribut │ Valoare │
├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
│ 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)