Ecrire dans un fichier à une ligne donnée

Fermé
debbie - 22 févr. 2017 à 16:47
poparnassus Messages postés 426 Date d'inscription vendredi 28 mars 2014 Statut Membre Dernière intervention 25 décembre 2019 - 25 févr. 2017 à 21:39
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)
A voir également:

1 réponse

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 23/02/2017 à 13:00
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
poparnassus Messages postés 426 Date d'inscription vendredi 28 mars 2014 Statut Membre Dernière intervention 25 décembre 2019 30
25 févr. 2017 à 21:39
Je suis tomber là par hazard et je prend note !

Merci Dal le Grand ^^
0