//Bibliothèque: #include <stdio.h> //SEEK_SET: Recheche à partir du début //SEEK_CUR: Recheche à partir de la position courante //SEEK_END: Recheche à partir de la fin /* Vous pouvez utilisé une valeur négative pour faire un mouvement en arrière */ #include <stdio.h> #include <stdlib.h> struct fullname { char firstName[40]; char lastName[10]; } info; int main(void){ typedef struct { long id; double valeur; } client; FILE *fp; client client_actu = { 0, 0.0 }; int reclength_file = sizeof(client); long id_seek = 123L; if ((fp = fopen("test.txt", "r")) == NULL) perror( "Unable to open clients file" ); else do { if ( 1 > fread( &client_actu.id, sizeof (long), 1, fp )) fprintf( stderr, " impossible de trouver le client avec ID %ldn", id_seek ); else if ( fseek( fp, reclength_file - sizeof(long), 1 )) perror( "Erreur" ); } while ( client_actu.id != id_seek ); return 0; } |
----------------------------------------------------------------------------