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 :

Lecture de fichier de la fin vers le debut en utilisant SetFilePointer


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Points : 88
    Points
    88
    Par défaut Lecture de fichier de la fin vers le debut en utilisant SetFilePointer
    Bonjour à tous,

    J'ai sans doute un petit soucis de logique la dessus, mais j'ai besoin d'aide.
    J'ai un fichier avec des données (une ligne = un nouvel enregistrments avec plusieurs données). Chaque ligne à une longueur variable.
    Je cherche à lire ce fichier ligne par ligne de la fin vers le debut en utilisant "SetFilePointer".

    le fichier se présente comme cela:


    x,x,xxxxxxx,xxxxxx,x,xxxxxxxxxxxx,xxxxxxxxx
    yy,y,yyyyyyyy,yyyyyyyy,y,yyyyyyyyyyy,yyyyyyyyyy
    ....

    Si quelqu'un avait déjà effectuer ce type de chose ou bien avait simplement une idée, cela pourrait m'éclairer.

    Merci d'avance.

    Kemanke

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    Si tu ne sais pas où se trouve le début de chaque ligne dans le fichier, tu devras faire 2 passes. Une première pour repérer et mémoriser chaque début de ligne, la deuxième pour ta lecture en ordre inverse. Lors de la deuxième passe tu pourras faire quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SetFilePointer(..., line_offset[n], ...);
    ReadFile(..., line_size[n], ...);
    Tu peux lire directement le fichier en ordre inverse, mais c'est plus complexe à gérer.

  3. #3
    Membre averti Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Points : 302
    Points
    302
    Par défaut
    Hello,
    Le plus simple serait peut être de lire le fichier ligne par ligne d'un coup (du début à la fin j'entends) et de stocker ces lignes dans un conteneur en inversant l'ordre. Si tu as la possibilité d'utiliser les fstream et list de la stl, ça doit pouvoir se faire en une ou deux lignes avec un front_inserter.

Discussions similaires

  1. lecture de fichier : fin de ligne
    Par Nariom dans le forum C
    Réponses: 11
    Dernier message: 08/01/2008, 17h41
  2. Lecture d'un fichier par flots : fin de ligne ?
    Par Loïc B. dans le forum C++
    Réponses: 4
    Dernier message: 07/11/2007, 21h02
  3. Lecture de fichier binaire et gestion de fin de fichier
    Par habasque dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 02/05/2007, 17h06
  4. Réponses: 2
    Dernier message: 08/11/2006, 20h57
  5. parcourir une liste de la fin vers le début
    Par zdra dans le forum SL & STL
    Réponses: 12
    Dernier message: 06/02/2005, 18h40

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