Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonction fmemopen (POSIX)

Entête à inclure

#include <stdio.h>

Fonction fmemopen

FILE *fmemopen( void *restrict buf, size_t size, const char *restrict mode );

Ouvre un flux dont le stockage est un tampon mémoire.

Cet élément est fourni par POSIX. Il peut nécessiter l'activation d'une macro de visibilité POSIX avant l'inclusion de l'entête.

Exemple de code

L'exemple suivant ouvre un flux sur un tampon mémoire, puis utilise les fonctions classiques de la librairie <stdio.h> pour y écrire du texte formaté.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
#define _POSIX_C_SOURCE 200809L

#include <stdio.h>
#include <stdlib.h>

int main() {

    char buffer[64];

    FILE * stream = fmemopen( buffer, sizeof buffer, "w" );
    if ( stream == NULL ) {
        perror( "fmemopen" );
        return EXIT_FAILURE;
    }

    fprintf( stream, "Score : %d", 42 );
    fclose( stream );

    printf( "%s\n", buffer );

    return EXIT_SUCCESS;
}
Utilisation de fmemopen

Cet exemple produit l'affichage suivant.

Score : 42

Sujets connexes

La librairie <stdio.h>


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé