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 :

[debutant] supprimmer une ligne d'un fichier


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 21
    Points : 18
    Points
    18
    Par défaut [debutant] supprimmer une ligne d'un fichier
    salut a tous,
    dans un fichier binaire je stocke des info (des factures en fait).
    j'aimerais qu'en saisissant le numero de la facture, je puisse la supprimmer du fichier, mais je ne sais pas trop comment m'y prendre...

    j'ai vu une solution qui consistait a recopier le contenu du fichier dans un tableau sauf la ligne qu'on veut supprimmer, effacer le contenu du fichier, et envoyer le contenu du tableau dans le fichier...

    si vous avez une autre manière de faire...

  2. #2
    Membre averti Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Points : 383
    Points
    383
    Par défaut
    recopier le contenu du fichier dans un tableau sauf la ligne qu'on veut supprimmer, effacer le contenu du fichier, et envoyer le contenu du tableau dans le fichier...
    Cette solution me semble bonne.
    Personnellement je ferais comme ca aussi ou en stockant ce que je lis dans un string (enfin l'idée est la même) !

  3. #3
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Bonjour,
    personnellement je ferais comme suit:

    Parcourir le fichier jusqu'à trouver l'enregistrement à supprimer, là sauver la coordonnée dans le fichier, disons 'Pos'.

    Allouer un vecteur d'une taille raisonnable en octet, disons 245.

    Pour chaque bloc de 245 Octets jusqu'à Pos, copier par bloc dans ce vector puis écrire dans un fichier destination le bloc lu.

    Incrémenter Pos de la taille de l'enregistrement à supprimer. Copier bloc par bloc jusqu'à la fin du fichier avec écriture de chaque bloc dans le fichier destination.

    Le fichier destination est un fichier temporaire que tu renommes après copie complète avec le nom du fichier d'origine que tu auras préalablement surrpimer en fin de copie.

    Ca revient un peu à ce que tu fais, mais en moins d'opérations.

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

Discussions similaires

  1. [FSO] Effacer une ligne dans un fichier
    Par Johnbob dans le forum ASP
    Réponses: 4
    Dernier message: 30/05/2007, 16h23
  2. [debutant] sauter une ligne dans l'ecriture d'un fichier
    Par nadhem dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 09/08/2006, 09h51
  3. [langage] Effacer une ligne dans un fichier
    Par sebi77 dans le forum Langage
    Réponses: 2
    Dernier message: 01/01/2005, 12h43
  4. [debutant]Sauver une table dans un fichier
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/04/2004, 10h34
  5. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30

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