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 :

Lire à partir de la fin d'un fichier ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur à ses heures perdues
    Inscrit en
    Août 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur à ses heures perdues

    Informations forums :
    Inscription : Août 2011
    Messages : 36
    Par défaut Lire à partir de la fin d'un fichier ?
    Bonjour à tous,

    J'ouvre ce Topic pour savoir comment peut-on faire pour lire un fichier à partir de la fin en sens inverse jusqu'au début du fichier. J'ai pensé à ouvrir un fichier en mode ios_base::ate qui place le curseur à la fin du fichier. Mais comment faire pour faire déplacer le curseur jusqu'au début du fichier caractère par caractère ? Ainsi Topic serait lu cipoT.

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 31

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur à ses heures perdues
    Inscrit en
    Août 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur à ses heures perdues

    Informations forums :
    Inscription : Août 2011
    Messages : 36
    Par défaut
    J'y ai pensé, mais je me demandais s'il n'y a pas d'autres pistes...

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 432
    Par défaut
    Tu peux faire comme ça :
    Construire un std::string à partir de istream_iterator sur le fichiers.
    Parcourir le std::string en sens inverse grace à rbegin et rend.

  5. #5
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    A vrai dire, je ne vois pas vraiment l'utilité de lire un fichier en sens inverse :p

    Il ne faut pas oublier qu'un fichier n'est qu'un moyen de récupérer des informations, rien de plus, et que, si elles sont placées dans le fichier dans un ordre donné, c'est sans doute qu'il y a une raison

    Le plus facile et le plus cohérent est donc de lire le fichier simplement dans le sens "normal" et, si tu as vraiment besoin de réorganiser les informations de sorte à les placer dans l'ordre inverse, de les inverser d'une manière ou d'une autre.

    De toutes manières, il faut rester conscient que l'accès à des informations sur le disque sont parmi les plus lents que l'on puisse trouver (à l'exception peut être des accès internet ). il est donc vraiment utile et nécessaire d'essayer de les limiter au maximum!

    Le conseil que l'on doit régulièrement donner dés qu'il s'agit d'accéder aux données d'un fichier est donc "commence par charger ton fichier en entier, d'une seule fois" et d'effectuer les traitement éventuels (autres que le simple fait de placer les données dans les structures adéquates ) une fois que le fichier a été lu dans son intégralité.

    Ceci dit, il est tout à fait possible, en choisissant correctement la collection dans laquelle tu placera les dites informations, d'arriver rapidement au résultat qui t'intéresse!

    Je pense, par exemple, à placer les données dans un std::stack, qui offre un fonctionnement FILO (Last In First Out)
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Lire un fichier texte à partir de la fin
    Par Space23 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 25/09/2011, 15h35
  2. Réponses: 0
    Dernier message: 09/06/2011, 15h50
  3. Lire un fichier à partir de la fin
    Par wissem.ba dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 02/05/2011, 10h10
  4. Lire un fichier à partir de la fin
    Par jimmplan dans le forum Linux
    Réponses: 3
    Dernier message: 15/02/2008, 22h09
  5. [EXCEL]Comment lire à partir d'un fichier Excel en java?
    Par BOUSHIH dans le forum Documents
    Réponses: 3
    Dernier message: 20/04/2006, 11h04

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