IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Optimisation de la suppression d'une ligne dans un fichier


Sujet :

C

  1. #1
    Rédacteur

    Profil pro
    Étudiant
    Inscrit en
    Juin 2004
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 113
    Points : 276
    Points
    276
    Par défaut Optimisation de la suppression d'une ligne dans un fichier
    salut,
    J'expose mon problème, supposons qu'on a un fichier .txt de la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //fichier text1.txt
    Je suis la ligne 1
    Je suis la ligne 2
    Je suis la ligne 3
    Je suis la ligne 4
    Je suis la ligne 5
    Je suis la ligne 6
    Ce que je veux faire, c'est de supprimer une des lignes du fichier.
    La première solution qui m'est venue à l'esprit, est :
    -Copier les données du fichier dans un Tableau
    -Supprimer la ligne en question du tableau
    -Renommer le fichier text1.txt (pour ne pas perdre les données)
    -Créer un fichier text1.txt et mettre les données du tableau dedans..

    Mais ma question est, Est ce qu'on peut developper plus cette méthode ? existent-il d'autres méthodes plus convenables (optimisées ?).

    P.S. eut-être que mon problème concerne plutôt la partie algorhitme que celle du C, mais je veux aussi savoir les fonctions et les bibliothéques de fonctions adéquates (s'il y en a) pour ce genre de traitement .

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 41
    Points
    41
    Par défaut
    perso j'aurait pluto tendance a faire une boucle avec fgets pour récupere dans une variable toutes les données sauf la ligne que tu veux suppr. apres tu réouvre le fichier avec w comme ca ca le vide et puis tu écrits ta variable. voila je ne sais pas si c'est bon mais c'est ce qui m'est venu a l'esprit.

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    La pratique la plus courante est de céer un fichier temporaire, une boucle while avec fgets qui lit une ligne dans le fichier source, si celle-ci ne correspond pas à la ligne a supprimer tu la recopie dans le fichier temporaire !
    Une fois fini, tu supprime (ou renome) le fichier source puis tu renome le fichier temporaire en lui donnant le nom du fichier source !

    Ce qui fait une lecture et écriture directe sans autre opération !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Rédacteur

    Profil pro
    Étudiant
    Inscrit en
    Juin 2004
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 113
    Points : 276
    Points
    276
    Par défaut
    Ok merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] Suppression d'une ligne dans un fichier
    Par maf dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 10/12/2012, 17h01
  2. Suppression d'une ligne dans un fichier
    Par feldene dans le forum Langage
    Réponses: 9
    Dernier message: 29/07/2009, 13h26
  3. suppression d'une ligne dans un fichier XML EN VBA
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 10/07/2008, 17h00
  4. Suppression d'une ligne dans un fichier txt
    Par EvaristeGaloisBis dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/07/2007, 18h58
  5. [VB6]Suppression d'une ligne dans un fichier
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/02/2006, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo