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

Langage C++ Discussion :

Obtenir la dernière ligne d'un fichier


Sujet :

Langage C++

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [résolu]Obtenir la dernière ligne d'un fichier
    Bonjour à tous,

    Je cherche à obtenir la dernière ligne d'un fichier sans lire le fichier en entier (car il fait 500 000 lignes).
    J'ai trouvé ce code (message de sea otter) : http://www.webhostingtalk.com/archiv.../t-327009.html
    Je comprends ce que fais ce code mais pas la démarche algorithmique. Notamment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    is.seekg(length-min(length,_LL_BUFFSIZE_),ios::beg); // seek back from end a short ways
    Ca n'a aucun sens pour moi. Cette ligne place le curseur à length du début du fichier (c'est-à-dire à la fin) ou à BUFFSIZE si ce dernier est inférieur. WTF ?

    La suite m'est tout aussi incompréhensible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // read in each line of the file until we're done
    buff[0]=0;
    do {
    // uncomment if you want to skip empty lines or lines that start with whitespace
    // fancier logic is probably called for
    /*
    if (!isspace(buff[0]) && buff[0] != 0)
    lastLine = buff;
    */
    } while (is.getline(buff, _LL_BUFFSIZE_));
    A commencer par la seule affectation de lastLine qui est commentée par défaut... De toute évidence ce code est faux.
    Pourtant le demandeur semble satisfait.

    Donc :
    1) Que fait ce code ?! Est-ce qu'il vaut quelque chose moyennant une correction ?
    2) Sinon comment obtenir la dernière ligne d'un fichier sans le lire (avec seekg(ios::end) je suppose) sachant qu'on ne connait pas la longueur de celle-ci ?

    Merci d'avance.
    Dernière modification par Invité ; 09/07/2010 à 11h11. Motif: résolu

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

Discussions similaires

  1. SPOOL : Effacer dernière ligne vide du fichier.
    Par Ujitsu dans le forum Sql*Plus
    Réponses: 6
    Dernier message: 30/07/2007, 18h15
  2. lire les X dernières lignes d'un fichier.
    Par Empty_body dans le forum Langage
    Réponses: 6
    Dernier message: 13/06/2007, 11h58
  3. Effacer la dernière ligne d'un fichier texte
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/05/2007, 11h52
  4. Supprimer 1ère et dernière ligne d'un fichier
    Par yabbiyou dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/03/2007, 09h05
  5. Comment lire la dernière ligne d'un fichier text.
    Par Ardely dans le forum Delphi
    Réponses: 29
    Dernier message: 20/01/2007, 23h29

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