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

SL & STL C++ Discussion :

Problème E/S fichier fstream


Sujet :

SL & STL C++

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Par défaut Problème E/S fichier fstream
    Bonjour,

    je suis débutant en C++ et je suis nouveau dans ce forum. Je travaille sur un programme où je veux ouvrir un fichier texte et stocker les données dans une structure.

    la structure est un tableau de structures.
    le fichier donnee.txt est ecrit de la manière suivante:

    int string string
    num1 nom1 prenom1
    num2 nom2 prenom 2
    ...

    Mon probleme se trouve dans la fonction lire(,). lorsque (après avoir compté le nombre de lignes dans le fichier dans la fonction init(,) ) le programme ne se positionne pas au debut du fichier pr lire les données et les stocker une à une dans la structue. J'ai pense qu'il y a aussi un probleme dans la structure de données ou dans la syntaxe pr lecriture dans la structure.

    Merci de m'aider à resoudre ce problème.
    Bonne journée à tous

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
     
    struct etudiant
    {
    	int num;
    	string nom;
    	string prenom;
    };
    struct etuds
    {
    	etudiant *cont;
    	int taille;
    };
     
    void afficher(etudiant &e)
    {
    	cout << e.num << e.nom << e.prenom << endl;
    }
     
     
    void lire (etuds &e, ifstream &fichier_entree)
    {
    	int j=0;
     
    	//Probleme repositionnement à l'entete du fichier
     
    	while (!fichier_entree.eof()) //.eof retourne tjrs 1: 
    					     //impossible de se repositionner au debut
    	{		
    	        fichier_entree >> e.cont[j].num >> e.cont[j].nom >> e.cont[j].prenom; // Probleme structure 
     
    		j++;
    	}
     
    }
     
     
    void init(etuds &e, ifstream &fichier_entree)
    {
    	char buf[1024];
    	int n=0;
    	while(!fichier_entree.eof())
    	{
    		fichier_entree.getline(buf,1024);
    		n++; //compteur nombre de lignes dans le fichier
    	}
     
    	e.cont=new etudiant[n];
    	e.taille=n;
     
    }
     
     
    int main()
    {
     
    	etuds e;
    	ifstream fichier_entree("c:/donnee.txt");
     
    	init(e, fichier_entree);
    	lire (e, fichier_entree);
     
    	for(int i=0; i<e.taille;i++)
    		afficher(e.cont[i]);
     
    	return 0;
    }
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/04/2010, 11h05
  2. Réponses: 11
    Dernier message: 13/10/2004, 00h58
  3. Problème de gestion fichiers
    Par glutock dans le forum ASP
    Réponses: 2
    Dernier message: 08/04/2004, 11h55
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44

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