home *** CD-ROM | disk | FTP | other *** search
- /*********************************************************************
- * CH15_08.C Fonctions fwrite() et fread() *
- *********************************************************************/
-
- #include<stdio.h>
-
- #define m 3
- #define dim 16
- #define fichier "c:\\albulus\\chap_15\\exercice.bin"
-
- typedef struct { unsigned numero;
- double mouvement,
- anc_solde,
- nve_solde;
- } client;
-
- main( void)
- {
- int i;
- FILE *flux;
- client cl0[m]= { { 41111u, 1234.0, 0.0, 1234.0},
- { 41112u, 5678.0, 0.0, 5678.0},
- { 41113u, 9012.0, 0.0, 9012.0}
- },
- cl1[m], cl2;
-
- flux= fopen( fichier, "w+b");
-
- /* 1. Ecriture du tableau de structures dans le fichier. */
- if( fwrite( &cl0, sizeof( client), m, flux)!= m)
- printf("\n Erreur d'Θcriture!\n");
-
- /* 2. Lecture du tableau de structures. */
- fseek( flux, 0, 0);
-
- if( fread( &cl1, sizeof(cl1), 1, flux)!= 1 || feof( flux))
- printf("\n Erreur de lecture n░1!\n");
-
- /* 3. Lecture d'un ΘlΘment du tableau. */
- fseek( flux, 0+ sizeof(client), 0);
-
- if( fread( &cl2, sizeof(client), 1, flux)!= 1)
- printf("\n Erreur de lecture n░2!\n");
-
- fclose( flux);
-
- /* 4. Affichages. */
- for( i= 0; i< m; i++)
- {
- printf("\n Le n░ du compte est %u , le solde %.2lf",
- cl1[i].numero, cl1[i].nve_solde);
- }
- printf("\n\n Le n░ du compte est %u , le solde %.2lf",
- cl2.numero, cl2.nve_solde);
- }
-
- /*
- Le n░ du compte est 41111 , le solde 1234.00
- Le n░ du compte est 41112 , le solde 5678.00
- Le n░ du compte est 41113 , le solde 9012.00
-
- Le n░ du compte est 41112 , le solde 5678.00 */