Utilisation de la fonction ‘int fseek ( FILE *fichier , long offset , int origin)’ pour déplacer l’indicateur de la position du fichier

Author:


Download


//Bibliothèque:     #include   

//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 
  #include 

  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;
  }

Leave a Reply

Your email address will not be published. Required fields are marked *