open_memstream(3) Library Functions Manual open_memstream(3)

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

Biblioteca C standard (libc, -lc)

#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

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.

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.

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

POSIX.1-2008.

glibc 1.0.x.
glibc 2.4.

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

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

A se vedea fmemopen(3).

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

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.

28 decembrie 2023 Pagini de manual de Linux 6.06