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 :

Mon getline ne s'execute pas.


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Par défaut Mon getline ne s'execute pas.
    Bonjour,
    Voila, j'ai un getline dans une boucle for.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for(int j=0; j<nombre; j++)
    	{
     
    		while(getline( fichierp, ligne ))
    		{
    		       //code
    		}
     
    	}
    Quand j'execute la boucle for, la boucle du getline ne s'execute que la première fois.
    Pouvez-vous m'aider ?
    Merci

  2. #2
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    C'est normal, une fois que le fichier a été lu, il ne reste rien à lire pour les autres fois.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Par défaut
    Ok, j'utilise donc seekg. merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Par défaut
    Ca ne marche toujours pas
    j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for(int j=0; j<nombre; j++)
       {
     
          while(getline( fichierp, ligne ))
          {
                 //code
          }
          fichierp.seekg(0);
       }
    et ça me fait la même chose

  5. #5
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    Il doit peut-être falloir purger les bits d'état.
    Mais pourquoi veux tu faire ça ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Par défaut
    Citation Envoyé par Luc Hermitte
    Mais pourquoi veux tu faire ça ?
    Reponse : système de gestion de commandes(ébauche)

    #include <fstream>
    #include <iostream>
    #include <sstream>
    #include <string>

    using namespace std;

    int main(int argc, char *argv[])
    {
    int nombre=2;
    cout<<"nombre ?";
    cin>>nombre;
    string codes[nombre];
    int qte[nombre];
    for(int i=0; i<nombre; i++)
    {
    cout<<"produit No "<<i+1<<"\nEcrivez : [code] [espace] [quantite] ==>";
    cin>>codes[i]>>qte[i];
    }

    ifstream fichierp;
    fichierp.open("data/produits.txt", ios::in);

    string ligne;
    string nomligne;
    string codeligne;
    float prixligne;

    float prixtotal;

    for(int j=0; j<nombre; j++)
    {


    while(getline( fichierp, ligne ))
    {

    istringstream iss( ligne );
    iss>>nomligne>>codeligne>>prixligne;
    if(codeligne==codes[j])
    {
    prixtotal=qte[j] * prixligne;
    cout<<"Produit "<< nomligne <<" Qte: "<<qte[j]<<" Prix unitaire: "<< prixligne<<" Prix total"<<prixtotal<<"\n";
    }
    }
    fichierp.seekg(0);
    }

    cout<<sortieecran;

    system("pause");
    }
    Purger les bits d'états ? gné ?

  7. #7
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    -> clear. (mais je ne garanti rien)

    Mais ... l'approche classique est de fermer le fichier quand on n'en a plus besoin et de le réouvrir quand on en a besoin.
    On peut aussi le charger intégralement en mémoire si il n'est pas trop gros.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9
    Par défaut
    Clear marche : merci beaucoup !!!

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

Discussions similaires

  1. Mon script Sql s'execute pas mais ne finit jamais !
    Par Battosaiii dans le forum SQL
    Réponses: 6
    Dernier message: 19/04/2011, 17h54
  2. Mon Javascript ne s'execute pas sous Firefox
    Par Rahim-US dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/09/2010, 11h13
  3. Mon .jar ne s'execute pas!
    Par emmessi dans le forum NetBeans
    Réponses: 3
    Dernier message: 21/04/2010, 17h48
  4. mon programme s'execute pas
    Par sub-0 dans le forum Débuter
    Réponses: 5
    Dernier message: 31/12/2008, 23h27
  5. Runtime error mon application ne s'execute pas
    Par amireve dans le forum Langage
    Réponses: 4
    Dernier message: 23/04/2006, 17h45

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