dwww Home | Manual pages | Find package

open_wmemstream(3)         Library Functions Manual         open_wmemstream(3)

NOM
       open_memstream,  open_wmemstream  -  Ouvrir un flux associé à un tampon
       dynamique en mémoire

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

SYNOPSIS
       #include <stdio.h>

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

       #include <wchar.h>

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

   Exigences de macros de test de fonctionnalités  pour  la  glibc  (consulter
   feature_test_macros(7)) :

       open_memstream(), open_wmemstream() :
           Depuis la glibc 2.10 :
               _POSIX_C_SOURCE >= 200809L
           Avant la glibc 2.10 :
               _GNU_SOURCE

DESCRIPTION
       La  fonction  open_memstream() ouvre un flux en écriture vers un tampon
       en mémoire. Le tampon est dynamiquement alloué et grandit  automatique-
       ment  selon les besoins. La taille initiale du tampon est égale à zéro.
       Après la fermeture du flux, l'appelant doit libérer ce tampon à  l'aide
       de free(3).

       Les  adresses pointées par ptr et taille_tampon font respectivement ré-
       férence à l'emplacement actuel du tampon et à sa taille.  Les  adresses
       pointées  par  ptr et taille_tampon sont mises à jour chaque fois qu'un
       flux est fermé à l'aide de fclose(3) ou vidé à l'aide de fflush(3). Ces
       valeurs  restent  valables tant que l'appelant n'effectue pas de sortie
       sur le flux. Si d'autres sorties sont réalisées,  alors  le  flux  doit
       être de nouveau vidé avant de pouvoir accéder à ces valeurs.

       Un  octet  de  valeur  zéro  est conservé à la fin du tampon. Cet octet
       n'est pas inclus dans la  valeur  de  la  taille  stockée  à  l'adresse
       taille_tampon.

       Le  flux associé au tampon conserve la valeur de la position d'écriture
       actuelle dont la valeur initiale est zéro (le début du tampon).  Chaque
       opération  d'écriture  ajuste  implicitement la position d'écriture ac-
       tuelle. La position d'écriture associée au flux  peut  être  changée  à
       l'aide  de fseek(3) ou fseeko(3). Déplacer la position d'écriture après
       la fin des données déjà écrites remplit l'intervalle vide avec des  oc-
       tets de valeur zéro.

       La  fonction  open_wmemstream()  est similaire à open_memstream(), mais
       elle opère sur des caractères larges et non sur des octets.

VALEUR RENVOYÉE
       Si elles réussissent,  les  fonctions  open_memstream()  et  open_wmem-
       stream()  renvoient  un  pointeur  de type FILE. Sinon, elles renvoient
       NULL et errno est définie pour préciser l'erreur.

VERSIONS
       open_memstream() était déjà disponible dans la glibc 1.0.x.  open_wmem-
       stream() est disponible depuis la glibc 2.4.

ATTRIBUTS
       Pour  une explication des termes utilisés dans cette section, consulter
       attributes(7).

       ┌─────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├─────────────────────────────────────┼──────────────────────┼─────────┤
       │open_memstream(), open_wmemstream()  │ Sécurité des threads │ MT-Safe │
       └─────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS
       POSIX.1-2008. Ces fonctions ne sont pas spécifiées dans POSIX.1-2001 et
       ne sont pas souvent disponibles sur d'autres systèmes.

NOTES
       Il  n'y a pas de descripteur de fichier associé au flux renvoyé par ces
       fonctions (par exemple, fileno(3) renverra une erreur si elle est appe-
       lée avec un tel flux).

BOGUES
       Avant  la  glibc 2.7, un positionnement après la fin d'un flux créé par
       open_memstream() n'agrandit pas le tampon ; au lieu de cela, l'appel  à
       fseek(3) échoue et renvoie -1.

EXEMPLES
       Voir fmemopen(3).

VOIR AUSSI
       fmemopen(3), fopen(3), setbuf(3)

TRADUCTION
       La  traduction française de cette page de manuel a été créée par Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, Fran-
       çois Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe  Gué-
       rard  <fevrier@tigreraye.org>,  Jean-Luc  Coulon (f5ibh) <jean-luc.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org>, David Prévot <david@tilapin.org>, Frédéric  Hantrais  <fhan-
       trais@gmail.com> et Lucien Gentis <lucien.gentis@waika9.com>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la       GNU       General       Public        License        version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de  manuel,
       veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

Pages du manuel de Linux 6.03  15 décembre 2022             open_wmemstream(3)

Generated by dwww version 1.15 on Sat Jun 29 01:39:18 CEST 2024.