Ecrire dans un fichier à une ligne donnée

debbie -  
poparnassus Messages postés 462 Statut Membre -
Bonjour,

Je souhaite faire une fonction en langage C qui écrit dans un fichier.
J'ai conscience de l'existence de "fputs"

Considérons un exemple :
Soit un fichier existant rempli de 12 lignes de caractères. Soit 11 "\n" existant dedans.
Peut-on (et si oui comment) indiquer que l'on souhaite que les caractères ajoutés avec fputs dans le fichier soit placés à la 8e ligne? (soit entre le 7e et le 8e "\n") (et non pas ajoutés à la fin du fichier)

1 réponse

  1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut debbie,

    Tu dois :

    - ouvrir en lecture ton fichier d'origine
    - ouvrir en écriture un fichier temporaire
    - lire les lignes de ton fichier d'origine et les écrire dans ton fichier temporaire jusqu'à la ligne après laquelle tu insères de nouvelles lignes
    - écrire ta/tes nouvelles lignes dans ton fichier temporaire
    - lire les lignes restantes de ton fichier d'origine et les écrire dans ton fichier temporaire jusqu'à la fin
    - fermer les deux fichiers
    - si tout s'est bien passé, supprimer le fichier d'origine et le remplacer par le fichier temporaire (ou garder une copie du fichier temporaire, au cas où)

    Dal
    0
    1. poparnassus Messages postés 462 Statut Membre 31
       
      Je suis tomber là par hazard et je prend note !

      Merci Dal le Grand ^^
      0