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 plusieurs fichiers


Sujet :

C++

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 128
    Par défaut Lecture de plusieurs fichiers
    Bonjour,

    je rencontre un problème étrange (mais probablement une erreur bete dans 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    int readIndexfile(char* IndexesPath){ 
    	vector <string> filename;
     
    	WIN32_FIND_DATA File;
    	HANDLE hSearch;
     
    	//d'abord je recupere les noms des fichiers qui m'interessent dans le path donne en parametre
    	string searchString = IndexesPath + string("myfile*.txt");
    	hSearch = FindFirstFile(searchString.c_str(), &File);
    	do { 
    		filename.push_back(File.cFileName);
    	} while (FindNextFile(hSearch, &File));
    	FindClose(hSearch);
     
     
    	string line;
    	ifstream f;
    	// puis je lis les fichiers ligne par ligne
    	for (int i = 0 ; i < filename.size() ; i++){
    		string completeFileName = IndexesPath + filename[i];
    // a ce niveau j'ai bien le bon chemin vers le fichier que je veux ouvrir
    		f.open(completeFileName.c_str());
    		getline(f, line);
     
    		while (getline(f, line)){
    		}
    		f.close();
    	}
    	return 0;
    }
     
     
     
    int main() { 
    	char * IndexesPath = "C:/MyPath/";
     
    	readIndexfile(IndexesPath);
    	return 0;
    }

    Ce code compile, mais lorsque je l'execute, il se contente d'ouvrir (et donc de lire) uniquement le premier fichier de la boucle. Pourtant f est bien fermé.

    qqu aurait une idée du pourquoi du comment?

    Je suis sur "Microsoft Visual C++ 6.0" sous windows 2000 pro.


    Merci pour tte suggestion!

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Ce qui se passe c'est qu'après la lecture du premier fichier l'objet f est dans un état d'erreur, il ne faut pas le réutiliser pour les fichiers suivants mais en créer un nouveau à chaque fois.

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    filename.size() vaut quoi avant le for ?

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

Discussions similaires

  1. [Débutant] Lecture de plusieurs fichiers Excel
    Par johary dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/06/2012, 20h05
  2. Lecture de plusieurs fichiers zippés avec sas
    Par caouet dans le forum SAS Base
    Réponses: 1
    Dernier message: 26/06/2011, 11h34
  3. Réponses: 11
    Dernier message: 10/05/2011, 09h21
  4. [PPT-2003] Lecture de plusieurs fichiers Flash sur plusieurs Slide
    Par paul971 dans le forum Powerpoint
    Réponses: 7
    Dernier message: 23/04/2009, 18h19
  5. Probleme de lecture de plusieurs fichiers
    Par chicken92000 dans le forum Débuter
    Réponses: 16
    Dernier message: 04/02/2009, 10h32

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