Fonction d'écriture fwrite: fichier binaire

Ecriture dans un fichier binaire: fwrite

                                           int fwrite(void* ptr, int taille, int nb, FILE* f);

Ecrit dans le fichier f , un nombre nb d'objets de taille taille stockés à l'adresse ptr. fwrite retourne le nombre d'objets effectivement copiés ou 0 en cas d'erreur.
Pour écrire l'entier i dans un fichier f on utilisera l'instruction: fwrite(&i, sizeof(int), 1, f);
#include<stdio.h>
typedef struct {
                      int x;
                      int y;
                     } point;
int main(void)
{
FILE* f;
point p1 = {12,23};
point p2 = {78,89};
f = fopen("sauverPoints.bin", "wb");
if (f = = NULL)
    printf ("Erreur ...");
else
   {
     fwrite(&p1, sizeof(point),1,f);    

      
fwrite(&p2, sizeof(point),1,f);  
   
}
fclose(f);   /* ajoute EOF au fichier et ferme le fichier */
}
REMARQUE

  • On aurait pu écrire les deux points en une seule instruction: 
    fwrite(&p1, sizeof(point),2,f);
  • Le fichier crée n'est pas lisible à l'écran ou sous un éditeur de texte.
Contenu du fichier sauverPoints.bin après exécution
000000000000110000000000001011100000000010011100000000001011001
EOF            
suivant            plan