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 :

Supprimer des lignes d'un fichier ouvert en lecture


Sujet :

C

  1. #1
    Membre régulier
    Inscrit en
    Août 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 201
    Points : 83
    Points
    83
    Par défaut Supprimer des lignes d'un fichier ouvert en lecture
    Bonjour ca va ? (ca fait longtemps)


    J'ai ouvert un fichier de 900 lignes en lecture dans un programme et je me demandais si il y avait un moyen de supprimer les lignes 600 a 603 (par exemple).

    fichier original
    ...
    ligne 599
    ligne 600
    ligne 601
    ligne 602
    ligne 603
    ligne 604
    ...
    fichier modifie
    ...
    ligne 599
    ligne 604
    ...

    Guidez moi, quel est le moyen le plus simple et le moins couteux (en code )

    Merci.

  2. #2
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    euh ... "ouvert en lecture" et "supprimer des lignes" ne vont pas (du tout) ensemble !

    C'est réellement le fichier que tu veux modifier ou, par exemple, ne pas traiter/afficher/utiliser certaines lignes que tu auras lues dans ton fichier ?

  3. #3
    Membre régulier
    Inscrit en
    Août 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 201
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par plxpy Voir le message
    euh ... "ouvert en lecture" et "supprimer des lignes" ne vont pas (du tout) ensemble !

    C'est réellement le fichier que tu veux modifier ou, par exemple, ne pas traiter/afficher/utiliser certaines lignes que tu auras lues dans ton fichier ?
    Un fichier ouvert en lecture, supprimer les lignes voulues puis ouvrir un nouveau fichier en ecriture et y inclure le resultat.

  4. #4
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Ca tourne autour d'une boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while (fgets(chaine,nb_car_max,entree))
    {
       if (noligne < MIN_SUPPR || MAX_SUPPR < noligne)
           fputs(chaine,sortie);
        noligne++;
    }
    si tu connais la taille max que peut avoir une ligne (et que tu peux déclarer ta chaine en conséquence). N'oublie pas le(s) caractère(s) de fin de ligne (CR-LF (windows) ou LF seul (unix/linux)) et le '\0'.

    Si tu ne connais pas cette taille, il faut alors gérer un peu plus finement les incrémentations des numéros de ligne en regardant, lors de chaque fgets, si tu récupères, ou pas, le linefeed (fgets lit jusqu'au premier linefeed ('\n') trouvé OU un maximum de (nb_car_max - 1) caractères : tu peux donc récupérer une partie de la ligne)

Discussions similaires

  1. Supprimer des lignes d'un fichier 1 en fonction du contenu du fichier 2
    Par Ohemeg dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 10/11/2008, 10h05
  2. Supprimer des lignes d'un fichier
    Par chreks dans le forum Fortran
    Réponses: 3
    Dernier message: 05/06/2008, 19h25
  3. problème pour supprimer des lignes d'un fichier
    Par NicoO_O dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 17/01/2008, 07h23
  4. [CSV] Ajouter et supprimer des ligne dans un fichier CSV
    Par gpsevasion dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2007, 17h00
  5. Shell pour supprimer des lignes d'un fichier
    Par nelsa dans le forum Autres langages
    Réponses: 2
    Dernier message: 20/09/2004, 12h26

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