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 :

problème lors de la lecture d'un fichier


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut problème lors de la lecture d'un fichier
    Bonjour,

    je souhaite me faire une fonction "read" qui lit un fichier texte et qui stocke chaque ligne dans un std::vector<std::string>.

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    bool read(const string & filename, vector<string> & data)
    {
    	data.clear();
    	string line;
     
    	std::ifstream fid(filename.c_str());
    	if(!fid)
    		return false;
     
    	while(std::getline(fid, line))
    		data.push_back(line);
     
    	fid.close();
     
    	return true;
    }
    Maintenant je teste la fonction. Le fichier texte contient les 7 lignes suivantes

    toto
    tata
    tutu
    titi
    toto
    tutu
    tete
    et mon code source est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    string rep = "Fichiers/";
    string filename = rep + "testPourFonctionsReadWrite_1.txt";
    vector<string> data;
     
    read(filename, data);
    cout << "data.size() = " << data.size() << endl;
    et là j'ai data.size() == 1 et data[0] = "tototatatututititototututete"

    Quelqu'un aurait-il une idée pour m'expliquer la raison pour laquelle data.size() != 7 ?

    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    C'est quoi, le contenu de line, après ton getline() ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    tototatatututititototututete

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Bon, ben getline() ne détecte pas ton saut de ligne.

    Essaye d'explicitement indiquer le délimiteur, avec '\n' et "\n\r".

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    salut

    j'avais déjà essayé avec le \n et j'avais toujours le même résultat

    avec le \r ça fonctionne

    merci

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Tu es sous Windows ou Linux ?

    Si Windows, utilises-tu Visual C++ ou g++ ?

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

Discussions similaires

  1. Problème de split lors d'une lecture d'un fichier csv
    Par Mawinette dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 25/03/2009, 11h48
  2. Problème lors de la lecture d'un fichier
    Par _SamSoft_ dans le forum C
    Réponses: 2
    Dernier message: 23/02/2008, 15h14
  3. Problème lors de la lecture d'un fichier xml avec XMLBeans
    Par oscar78 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 07/09/2007, 14h04
  4. Problèmes lors de la lecture d'un fichier
    Par samothtronicien dans le forum C++
    Réponses: 5
    Dernier message: 27/05/2006, 00h05
  5. Problème lors de la lecture d'un fichier avec Input...
    Par Kronoob dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 18/11/2005, 18h55

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