Namespaces
Variants

fwrite

From cppreference.net
< c ‎ | io
Défini dans l'en-tête <stdio.h>
size_t fwrite ( const void * buffer, size_t size, size_t count,
FILE * stream ) ;
(jusqu'à C99)
size_t fwrite ( const void * restrict buffer, size_t size, size_t count,
FILE * restrict stream ) ;
(depuis C99)

Écrit count objets du tableau donné buffer dans le flux de sortie stream . Les objets sont écrits comme si chaque objet était réinterprété comme un tableau de unsigned char et en appelant fputc size fois pour chaque objet afin d'écrire ces unsigned char dans stream , dans l'ordre. L'indicateur de position du fichier pour le flux est avancé du nombre de caractères écrits.

Si une erreur se produit, la valeur résultante de l'indicateur de position du fichier pour le flux est indéterminée.

Table des matières

Paramètres

buffer - pointeur vers le premier objet du tableau à écrire
size - taille de chaque objet
count - nombre d'objets à écrire
stream - pointeur vers le flux de sortie

Valeur de retour

Le nombre d'objets écrits avec succès, qui peut être inférieur à count si une erreur se produit.

Si size ou count est zéro, fwrite renvoie zéro et n'effectue aucune autre action.

Exemple

#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
enum { SIZE = 5 };
int main(void)
{
    double a[SIZE] = {1, 2, 3, 4, 5};
    FILE* f1 = fopen("file.bin", "wb");
    assert(f1);
    size_t r1 = fwrite(a, sizeof a[0], SIZE, f1);
    printf("wrote %zu elements out of %d requested\n", r1, SIZE);
    fclose(f1);
    double b[SIZE];
    FILE* f2 = fopen("file.bin", "rb");
    size_t r2 = fread(b, sizeof b[0], SIZE, f2);
    fclose(f2);
    printf("read back: ");
    for (size_t i = 0; i < r2; ++i)
        printf("%0.2f ", b[i]);
}

Sortie :

wrote 5 elements out of 5 requested
read back: 1.00 2.00 3.00 4.00 5.00

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.21.8.2 La fonction fwrite (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.21.8.2 La fonction fwrite (p: TBD)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.21.8.2 La fonction fwrite (p: 335-336)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.19.8.2 La fonction fwrite (p : 301-302)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.9.8.2 La fonction fwrite

Voir aussi

imprime une sortie formatée vers stdout , un flux de fichier ou un tampon
(fonction)
écrit une chaîne de caractères vers un flux de fichier
(fonction)
lit depuis un fichier
(fonction)