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 :

Erreur getline taille limite


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 134
    Points : 61
    Points
    61
    Par défaut Erreur getline taille limite
    Bonjour,
    Je fait un getline sur un std::ifstream mais la taille de ma ligne est trop grande, elle fait plus de MAX_SIZE_LINE.
    Je cherche à lire ma ligne sans changer mon MAX_SIZE_LINE.
    Comment faire?

    J'ai essayé de faire un tellg pour sauvegarder ma position, puis mon getline qui ne marche pas, puis un seekg pour restaurer ma position, puis refaire un getline avec une nouvelle taille *2 par exemple. Cela ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      #define MAX_SIZE_LINE 50
      ...
      std::string currentValue(MAX_SIZE_LINE, ' ');
     _recordFile.getline(&currentValue[0], MAX_SIZE_LINE);
    Si vous avez des idées merci d'avance pour vos réponses.

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 137
    Points
    23 137
    Par défaut
    Bonjour,

    Pourquoi chercher compliquer?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    - soit un std::string : final
    - tant que le dernier caractère du std::string n'est pas '\n'
               - soit un std::string tmp
               - getline en stockant le résultat dans tmp
               - si le getline s'est déroulé sans problème
                          - final += tmp
    - fin tant que
    Pourquoi ne pas utiliser cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    istream& getline ( istream& is, string& str, char delim );
    istream& getline ( istream& is, string& str );
    Sinon :
    Très mauvaise idée.
    Autant utiliser un char [] à la place.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 134
    Points : 61
    Points
    61
    Par défaut
    Merci pour ta réponse, je me suis compliqué la vie pour rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    istream& getline ( istream& is, string& str, char delim );
    istream& getline ( istream& is, string& str );
    Ceci fonctionne parfaitement. Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/02/2011, 11h13
  2. [debutant]Taille limité Oracle 9.2.0.6
    Par Carlito_superheros dans le forum Oracle
    Réponses: 3
    Dernier message: 18/10/2005, 20h32
  3. [String] Taille limite ?
    Par Clorish dans le forum Langage
    Réponses: 2
    Dernier message: 13/07/2005, 12h50
  4. Erreur "indice hors limite(0)" non comprise
    Par Bruno1905 dans le forum Bases de données
    Réponses: 9
    Dernier message: 10/06/2005, 13h02
  5. taille limite d'une priority_queue
    Par traiangueul dans le forum SL & STL
    Réponses: 3
    Dernier message: 26/08/2004, 18h19

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