1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
#include <stdio.h>
#define NbElt ( t ) ( sizeof t / sizeof t [0] )
typedef struct {
int n ;
float t [10] ;
char c ;
} Donnee ;
int main(int argc , char *argv [ ] ) {
Donnee s1 = { 1 , { 1. , 2. , 3.} , a};
Donnee s2 [ ] = { {4, {10. , 32. , 3.} , z}, {5, { 2. , 11. , 2. , 4.} , h} };
FILE *f , *f_sauve ; Donnee s ;
if ( ( f = fopen("donnee" , "w" ) ) == NULL)
perror("fopen") , exit ( 1 ) ;
fwrite(&s1 , sizeof(Donnee) , 1 , f ) ;
fwrite( s2 , sizeof(Donnee) , NbElt(s2) , f ) ;
fclose(f ) ;
if ( ( f = fopen("donnee" , "r" ) ) == NULL ||
(f_sauve = fopen("sauvegarde" , "w" ) ) == NULL)
perror("fopen") , exit ( 2 ) ;
fread(&s , sizeof(Donnee) , 1 , f ) ;
while ( ! feof(f ) )
{
fwrite(&s , sizeof(Donnee) , 1 , f_sauve ) ;
fread(&s , sizeof(Donnee) , 1 , f ) ;
} fclose(f ) ;
fclose(f_sauve ) ;
} |
Partager