Je souhaiterai supprimer toutes les lignes contenant une certaine chaine de caractères dans un fichier texte en C.
Comment faire ?
(Supprimer la ligne totalement, pas simplement l'effacer).
Merci.
Je souhaiterai supprimer toutes les lignes contenant une certaine chaine de caractères dans un fichier texte en C.
Comment faire ?
(Supprimer la ligne totalement, pas simplement l'effacer).
Merci.
Bonjour,
Il n'y a pas de moyen direct de faire ça en C, il faut passer par un fichier temporaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Ouvrir le fichier à traiter en lecture (fopen) Ouvrir un fichier temporaire en écriture POUR chaque ligne du fichier source (fgets) FAIRE SI la ligne ne contient pas le motif à éliminer (strstr) ALORS Écrire la ligne dans le fichier temporaire (fputs) FIN SI FIN POUR Fermer les fichiers (fclose) Remplacer le fichier à traiter par le fichier temporaire (rename)
J'ai utilisé la commande unix sed avec la fonction system et ca tourne =)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager