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 fichier en c++


Sujet :

C++

  1. #1
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Points : 48
    Points
    48
    Par défaut lecture fichier en c++
    Je suis étudiant en bts informatique de gestion spécialité développeur d'application. D'après mon cours j'ai écris cela pour la lecture du fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // récupération du personnel
        ifstream fichier("E:\\Kevin\\Cours\\TSI2\\PTI\\PTI_3\\personnel.txt",ios::in);
        while(fichier.eof())
        {
               fichier >> xNom >> xMat >> xTaux >> xNbHeures >> xSal ;
        }
    Voici ce que contient mon fichier personnel.txt :
    Bernard 3567 8.5 35 1338,75
    Jean 3568 8,7 35 1370,25
    Mais cela ne fait rien du tout, ça m'affiche rien du tout. Ou est le problème ?

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut, et bienvenue sur le forum...

    La réponse brutale à ta question est:

    C'est normal, tu demande de lire les informations, mais pas de les afficher... L'ordinateur est bête et discipliné: il ne fait que ce qu'on lui demande

    Ceci dit, je te conseille fortement de faire un tour vers la page dédiée à la manipulation des fichiers car, non seulement, il est préférable d'éviter le test sur eof(), mais il peut paraitre intéressant de vérifier correctement ce qui est lu, car si le fichier est corrompu pour une raison ou une autre, tu va droit à la catastrophe
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  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
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    Citation Envoyé par Titiii25 Voir le message
    Mais cela ne fait rien du tout, ça m'affiche rien du tout. Ou est le problème ?
    Tu ne fais pas d'affichage ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // récupération du personnel
        ifstream fichier("E:\\Kevin\\Cours\\TSI2\\PTI\\PTI_3\\personnel.txt",ios::in);
        while((!fichier.fail())&&(!fichier.eof()))
        {
               fichier >> xNom >> xMat >> xTaux >> xNbHeures >> xSal ;
               std::cout<<xNom << xMat << xTaux << xNbHeures << xSal ;
        }

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Bonjour,

    Tu ne fais pas d'affichage ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // récupération du personnel
        ifstream fichier("E:\\Kevin\\Cours\\TSI2\\PTI\\PTI_3\\personnel.txt",ios::in);
        while((!fichier.fail())&&(!fichier.eof()))
        {
               fichier >> xNom >> xMat >> xTaux >> xNbHeures >> xSal ;
               std::cout<<xNom << xMat << xTaux << xNbHeures << xSal ;
        }
    Et l'affichage surement plus lisible avec quelques espaces entre les différentes données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // récupération du personnel
        ifstream fichier("E:\\Kevin\\Cours\\TSI2\\PTI\\PTI_3\\personnel.txt",ios::in);
        while((!fichier.fail())&&(!fichier.eof()))
        {
               fichier >> xNom >> xMat >> xTaux >> xNbHeures >> xSal ;
               std::cout<<xNom <<" "
                        << xMat <<" " 
                        << xTaux<<" " 
                        << xNbHeures <<" "
                        << xSal ;
        }
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Points : 48
    Points
    48
    Par défaut
    que veut dire le std:: ? Désolé de ma non connaissance j'essaie d'apprendre et tout comprendre ce que je fais parce que c'est pour mon épreuve donc si je fais sans savoir ...

  6. #6
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    std <== c'est le namespace qui contient toute la SL.
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  7. #7
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Points : 48
    Points
    48
    Par défaut
    J'ai donc rectifier mon programme, cela marche mais il m'affiche cela :
    Bernard 3567 8.5 35 1338.75
    Jean 3568 8.7 35 1370.25
    Jean 3568 8.7 35 1370.25
    D'ou cela vient mon erreur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while( (!fichier.fail()) && (!fichier.eof()) )
        {
               fichier >> xNom >> xMat >> xTaux >> xNbHeures >> xSal ;
               cout << xMat << " " << xNom << " " << xTaux << " " << xNbHeures << " " << xSal << "\n" ;
     
        }

  8. #8
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 130
    Points : 48
    Points
    48
    Par défaut
    j'ai trouvé mon erreur, cela venait d'un espace en trop après le dernier caractère.

  9. #9
    Membre éclairé Avatar de befalimpertinent
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 561
    Points : 833
    Points
    833
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ifstream fichier("E:\\Kevin\\Cours\\TSI2\\PTI\\PTI_3\\personnel.txt",ios::in);
    C'est un peu barbare de mettre tout le chemin d'un fichier en dur dans ton code. Pourquoi ne pas passer en argument de ton programme par exemple le nom du fichier.
    Linux > *

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

Discussions similaires

  1. Lecture fichier Word et remplacement paramètre
    Par Pfeffer dans le forum C++Builder
    Réponses: 4
    Dernier message: 21/02/2005, 17h30
  2. [ifstream] pb lecture fichier non sequentielle
    Par bludo dans le forum SL & STL
    Réponses: 3
    Dernier message: 10/02/2005, 21h30
  3. [LG]probleme lecture fichier
    Par yp036871 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2004, 19h22
  4. [LG]Probleme lecture fichier file of ....
    Par John_win dans le forum Langage
    Réponses: 11
    Dernier message: 11/11/2003, 18h53
  5. [langage] prob lecture fichier .txt
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2003, 11h08

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