title: Deleting a line in a file with C
body: <p>I'm trying to delete a specific line in a file. I used the code at the bottom (copying the lines in another file and skipping the line I want to delete). But if I chose to delete any line other than the last one, the latter isn't shown in the the new file. Also, how can I delete a line while using a separator between the fields?!</p>
  <pre><code>int supprimerVoiture()
  {
      FILE *fichierVoitures = NULL, *fileReceipient = NULL; // Pointeur sur fichier
      Voiture voiture;
      long idVoiture;
  
      fichierVoitures = fopen(&quot;fichiers/voitures.txt&quot;, &quot;r&quot;);
      fileReceipient = fopen(&quot;fichier/voituresNew.txt&quot;, &quot;w&quot;);
  
      if (fichierVoitures != NULL &amp;&amp; fileReceipient != NULL)
      {
          printf(&quot;\n-Enter the ID of the car u want to delete : &quot;);
          idVoiture = lireLong();
  
          while (fscanf(fichierVoitures, &quot;%8ld %14s %14s %7s %2ld %5ld %4s&quot;, &amp;voiture.idVoiture, voiture.marque, voiture.nomVoiture, voiture.couleur, &amp;voiture.nombrePlaces, &amp;voiture.prixJour, voiture.enLocation) == 7)
          {
              if (idVoiture != voiture.idVoiture)
              {
                  fprintf(fileReceipient, &quot;%8ld %14s %14s %7s %2ld %5ld %4s&quot;, voiture.idVoiture, voiture.marque, voiture.nomVoiture, voiture.couleur, voiture.nombrePlaces, voiture.prixJour, voiture.enLocation);
  
                  fprintf(fileReceipient, &quot;\n&quot;);
              }
          }
  
          fclose(fichierVoitures);
          fclose(fileReceipient);
  
          return 1;
      }
      else
      {
          printf(&quot;\nImpossible d'ouvrir le fichier&quot;);
  
          return 0;
      }
  }
  </code></pre>