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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 113
    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 confirmé
    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
    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 : 48
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    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 : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 113
    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, 16h01
  2. Suppression d'une ligne dans un fichier
    Par feldene dans le forum Langage
    Réponses: 9
    Dernier message: 29/07/2009, 12h26
  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, 16h00
  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, 17h58
  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, 11h20

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